Spiking neuron network apparatus and methods for encoding of sensory data

ABSTRACT

Sensory encoder may be implemented. Visual encoder apparatus may comprise spiking neuron network configured to receive photodetector input. Excitability of neurons may be adjusted and output spike may be generated based on the input. When neurons generate spiking response, spiking threshold may be dynamically adapted to produce desired output rate. The encoder may dynamically adapt its input range to match statistics of the input and to produce output spikes at an appropriate rate and/or latency. Adaptive input range adjustment and/or spiking threshold adjustment collaborate to enable recognition of features in sensory input of varying dynamic range.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to co-owned and co-pending U.S. patent application Ser. No. 13/539,142, entitled “RETINAL APPARATUS AND METHODS” filed Jun. 29, 2012, U.S. patent application Ser. No. 13/540,429 entitled “SENSORY PROCESSING APPARATUS AND METHODS”, filed Jul. 2, 2012, and U.S. patent application Ser. No. 13/623,820, entitled “SPIKING NEURON NETWORK APPARATUS AND METHODS USING ARTIFICIAL SPIKING NEURONS”, filed herewith, each of the foregoing incorporated herein by reference in its entirety.

COPYRIGHT

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND

1. Field of the Disclosure

The present innovation relates generally to artificial visual systems and more particularly in one exemplary aspect to computer apparatus and methods for implementing spatial encoding in artificial retina.

2. Description of Related Art

Various existing implementations of artificial retinal functionality aim at converting visual input (e.g., frames of pixels) to output signals of different representations, such as: spike latency, see for example, U.S. patent application Ser. No. 12/869,573, filed Aug. 26, 2010, entitled “SYSTEMS AND METHODS FOR INVARIANT PULSE LATENCY CODING”, and U.S. patent application Ser. No. 12/869,583, filed Aug. 26, 2010, entitled “INVARIANT PULSE LATENCY CODING SYSTEMS AND METHODS SYSTEMS AND METHODS”; polychronous spike trains, see for example, U.S. patent application Ser. No. 13/117,048, filed May 26, 2011, entitled “APPARATUS AND METHODS FOR POLYCHRONOUS ENCODING AND MULTIPLEXING IN NEURONAL PROSTHETIC DEVICES”, current output, see for example, U.S. patent application Ser. No. 13/539,142, entitled “RETINAL APPARATUS AND METHODS” filed Jun. 29, 2012, each of the foregoing incorporated herein by reference in its entirety.

Artificial retinal apparatus (e.g., the apparatus described in U.S. patent application Ser. No. 13/152,119, Jun. 2, 2011, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”, incorporated herein by reference in its entirety) attempt to mimic particular spatial characteristics (horizontal connectivity) of natural retina cone cells, such as two-dimensional “difference-of-Gaussians” (DoG) spatial filter profile, and a difference filter in the temporal domain. In order to improve response to contrast changes and facilitate detection of edges, existing artificial retina implementations implement difference-of-Gaussians” spatial filter profile in the ganglion later (RGCs). Typically, the centers of the RGCs are arranged spatially as a two-dimensional (2-D) or a 3-dimensional (3D) structure, such as a linear array, a rectangle, square, or honeycomb pattern. The spatial extents of the RGCs, in terms of the input image pixels, may overlap with multiple neighboring RGCs.

It is often desirable, in, for example, retinal implant applications, to be able to reproduce various features (e.g., trichromatic vision, multiple levels of spatial and/or temporal resolution. Furthermore, it may be desirable to provide visual encoding apparatus that may be optimally configured (e.g., comprise different types of encoder neurons) for different applications, using the same general architecture.

In some applications, it may be beneficial to peorm data compression by utilizing conversion of real-valued (e.g., continuous and/or discrete with variable bit-length) signals into spike output.

Accordingly, there is a salient need for an improved apparatus and methods for encoding of visual data into spike output using spiking neuron networks.

SUMMARY

The present disclosure satisfies the foregoing needs by providing, inter alia, apparatus and methods for implementing continuous spatial connectivity in artificial retina.

One aspect of the disclosure relates to a computerized spiking neuron signal processing apparatus. The apparatus may comprise one or more processors configured to execute computer program modules. The computer program modules may be executable to effectuate spiking neurons. The spiking neurons may include a first spiking neuron and a second spiking neuron. The first spiking neuron may be configured to encode a signal into a first output. The first spiking neuron may be characterized by a first receptive field. The first output may be characterized by a transient response. The transient response may be associated with a first response duration. The second spiking neuron may be configured to encode a signal into a second output. The second spiking neuron may be characterized by a second receptive field. The second output may be characterized by a sustained response. The sustained response may be associated with a second response duration. The second response duration may be greater than the first response duration.

In some implementations, the second response duration may exceed the first response duration by at least a multiple of the first response duration.

In some implementations, the signal may comprise a graded input characterized by a first attribute and a second attribute. The second attribute may be configured to be independent from the first attribute. The first spiking neuron may be configured to encode the first attribute into the first output based on a spike response process. The second spiking neuron may be configured to encode the second attribute into the second output based on a spike response process of the spiking neurons.

In some implementations, the signal may comprise a visual input representative of an object. The first attribute may comprise an object luminance characteristic. The second attribute may comprise an object chromaticity characteristic.

In some implementations, the visual input may be based on a plurality of photodetector components. The first output may be generated based on a spatial average of a portion of photodetector components associated with the first receptive field.

In some implementations, the first receptive field may comprise a center lobe and a surrounding lobe. The surrounding lobe may substantially envelope the center lobe. The first output may be generated based on one or both of (1) a spatial average of a first portion of photodetector components associated with the center lobe or (2) a second portion of photodetector components associated with the surrounding lobe.

In some implementations, the first portion and the second portion may be configured to form a non-overlapping set.

In some implementations, the first portion and the second portion may be configured to form an overlapping set.

In some implementations, the second receptive field may comprise a center portion and a surrounding portion. The second output may be generated based on (i) a photodetector component associated with the center portion and (ii) a photodetector component associated with the surrounding portion.

In some implementations, the first spiking neuron may be configured to encode the object luminance characteristic into the first output. The second neuron may be configured to encode the object chromaticity characteristic into the second output.

In some implementations, the spiking neurons may comprise a third spiking neuron configured to encode the signal into a third output based on a spike response process of the spiking neurons. The third output may be characterized by a sustained response having the second response duration associated therewith. The visual input may comprise a second object chromaticity characteristic. The third neuron may be configured to encode the second object chromaticity characteristic into the third output. The object chromaticity characteristic may comprise red-green chromaticity. The second object chromaticity characteristic may comprise yellow-blue chromaticity.

In some implementations, the signal may comprise two or more frames. Individual ones of the two or more frames may have a plurality of pixels associated therewith. The second output may be configured based on an area within consecutive ones of the two or more frames. The area may be characterized by at least two pixels of the plurality of pixels.

In some implementations, the second receptive field may be characterized by an angular dimension comprising between 1 and 60 minutes of arc. The first receptive field may be characterized by an angular dimension comprising between 30 and 180 minutes of arc.

In some implementations, the second receptive field may be characterized by an angular dimension of about 6 minutes of arc. The first receptive field may be characterized by an angular dimension of 20 minutes of arc.

In some implementations, the signal may comprise one or more frames. Individual ones of the one or more frames may have a plurality of pixels associated therewith. The first output may be configured based on an area within one of the one or more frames. The area may be characterized by ten or more pixels of the plurality of pixels.

In some implementations, the signal may comprise a plurality of frames characterized by an inter-frame interval. The transient response may be characterized by an occurrence of at least one spike within the inter-frame interval.

Another aspect of the disclosure relates to a computerized signal processing system configured to reconfigure a processor included therein. The system may comprise processors configured to execute computer program modules. The processors may include a first processor and a second processor. The computer program modules may be executable to: based on a first value of a configuration parameter, configure the first processor to encode an input signal, the first processor having a first input filter, the first processor being characterized by a first mapping of the input signal; based on a second value of the configuration parameter, configure the second processor to encode the input signal, the second unit having a second input filter, the second processor being characterized by a second mapping of the input signal; operate the first processor to generate a first output type based on the input signal; operate the second processor to generate a second output type based on the input signal; and based on an indication, adjust the configuration parameter such that the second processor is reconfigured to generate the first output type using the first filter and the first mapping.

In some implementations, the first output type may be characterized by a transient response. The transient response may be associated with a first response duration. The second output may be characterized by a sustained response. The sustained response may be associated with a second response duration. The second response duration may be greater than the first response duration by at least three times the first response duration.

In some implementations, the input may comprise a visual signal characterized by a luminance component and a chromaticity component. The first output may be based on an encoding of the luminance component. The second output may be based on an encoding of the chromaticity component. The luminance component may comprise a bi-phasic signal characterized by a first phase and second phase. The first phase and the second phase may be determined relative a reference level. The first mapping may be characterized by a first receptive field. The first receptive field may have a center portion and a surround portion. The surround portion may substantially envelope the center portion. The center portion may be configured to generate a center response based on the first phase of the luminance component. The surround portion may be configured to generate a surround response based on the second phase of the luminance component. The first output may be based on a difference between the center response and the surround response.

In some implementations, the input may comprise a visual signal characterized by a chromaticity component. The chromaticity component may comprise a bi-phasic signal. The bi-phasic may be characterized by a first phase and a second phase. The first phase and the second phase may be determined relative a reference level. The second mapping may be characterized by a second receptive field. The second receptive field may have a center portion and a surround portion. The center portion of the second receptive field may be configured to generate a second center response based on the first phase of the chromaticity component. The surround portion of the second receptive field may be configured to generate a second surround response based on the second phase of the chromaticity component. The second output may be based on a difference between the second center response and the second surround response.

In some implementations, the computer program modules may be executable to modify the second response duration based on a characteristic of the chromaticity component.

In some implementations, the input may comprise a plurality of frames characterized by an inter-frame interval. The transient response may be based on a response of the first input filter. The response of the first input filter may be characterized by the first response duration. The sustained response may be based at least on the second filter response characterized by the second duration. The first duration may be configured based on one inter-frame interval. The second response duration may be based on at least three inter-frame interval.

In some implementations, the first processor and second processor may each comprise one or more spiking neurons operable in accordance with a spike generation process. The first output may comprise a spike within the first response duration. The second output may comprise two or more spikes within the second duration.

In some implementations, the second response duration may be between 40 and 120 ms.

Yet another aspect of the disclosure relates to a visual signal processing apparatus. The apparatus may comprise processors configured to execute computer program modules. Individual ones of the processors may include a receptive field. A given receptive field may comprise a center portion and a surrounding portion that substantially surrounds the center portion. The computer program modules may be executable to: receive an input signal; and generate an output based on the input signal. The input signal may comprise contributions of a plurality of photodetectors arranged spatially along at least one dimension. The center portion of the given receptive field may be configured to receive a center input. The center input may comprise contributions from a portion of the plurality of photodetectors. The apparatus may provide input to surrounding portions associated with receptive fields associated of individual ones of the processors. The input may be provided to the surrounding portion of the given receptive field based on one or more center inputs from neighboring processors of the processor that comprises the given receptive field.

In some implementations, the surrounding input may comprise a weighted sum of one or more center inputs. The output may be configured based on a combination of the center portion input and a negated surround portion input.

In some implementations, the output may be based on a difference between the center portion input and the surrounding portion input. The computer program modules may be executable to reduce a number of computational operations associated with generation of the output based on the one or more center inputs from neighboring processors.

In some implementations, the portion of the plurality of photodetectors may be characterized by a number greater than one of photodetectors within the portion. The center input may be characterized by a number of connections. The number of connections may be based on the number of photodetectors within the portion. The surround input may be based on a number of neighboring processors.

In some implementations, the number of photodetectors within the portion may be between 4 and 10 inclusive. The number of neighboring processors may be between 4 and 10 inclusive.

Still another aspect of the disclosure may relate to a sensing array. The sensing array may comprise one or more encoder elements of a first type, one or more encoder elements of a second type, and an output element. Individual ones of the one or more encoder elements of the first type may be configured to encode a luminance component of visual stimulus into a first spiking output. Individual ones of the one or more encoder elements of the second type may be configured to encode a chromaticity component of the visual stimulus into a second spiking output. The output element may be communicatively coupled with the one or more encoder elements of the first type and the one or more encoder elements of the second type. The output element may be configured to interface to an optic nerve. The first spiking output and the second spiking output may each be configured to emulate an output of a mammalian neuro-retina.

These and other objects, features, and characteristics of the system and/or method disclosed herein, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. As used in the specification and in the claims, the singular form of “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a generalized architecture of the sensory encoder apparatus in accordance with implementation.

FIG. 2A is a block diagram illustrating sensory encoder apparatus comprising a photoreceptive block and an encoder block in accordance with one implementation.

FIG. 2B is a block diagram illustrating encoder block of FIG. 2B comprising multiple neuron types arranged in layers, in accordance with implementation.

FIG. 2C is a block diagram illustrating connectivity between the photoreceptive block and the encoder block in accordance with one implementation.

FIG. 3 is a graphical illustration depicting spatial configuration and responses of different unit types for use with the encoder of FIG. 2B, in accordance with one or more implementations.

FIG. 4 is a plot illustration temporal response of parasol unit and midget unit of the encoder network according to one or more implementations.

FIG. 4A is a plot illustration temporal averaging by a midget unit of the encoder network according to one implementation.

FIG. 4B is a plot illustration spatial averaging by a parasol unit of the encoder network according to one implementation.

FIG. 5 is a graphical illustration depicting a hexagonal grid for use with encoder units of FIG. 3, in accordance with one implementation.

FIG. 6A is a plot presenting data related to output rates of encoder units in response to broadband stimuli of varying amplitude, in accordance with one implementation.

FIG. 6B is a plot illustrating adaptive rate encoding, in accordance with one implementation.

FIG. 6C is a plot illustrating adaptive rate encoding, in accordance with one implementation.

FIG. 7A is a graphical illustration depicting lateral connectivity of the encoder network, according to one or more implementations.

FIG. 7B is a graphical illustration depicting photodetector and lateral connectivity of the encoder network, according to one implementation.

FIG. 8A is a logical flow diagram illustrating generalized method of encoding graded sensory input into spiking output in accordance with one or more implementations.

FIG. 8B is a logical flow diagram illustrating method of dynamically adjusting neuron response threshold for use in visual input encoding method of FIG. 8A.

FIG. 8C is a logical flow diagram illustrating method of input scaling for use in visual input encoding method of FIG. 8A.

FIG. 9A is a logical flow diagram illustrating generalized method of feature detection using spiking encoder comprising input dynamic range adjustment, in accordance with one or more implementations.

FIG. 9B is a logical flow diagram illustrating spiking encoder output rate control based on input dynamic range adaptation in accordance with one implementation.

FIG. 9C is a logical flow diagram illustrating graded sensory data compression using spiking encoder in accordance with one implementation.

FIG. 9D is a logical flow diagram illustrating visual data spiking encoder comprising individually configured response characteristics for chromaticity and illuminance, in accordance with one implementation.

FIG. 10A is a block diagram illustrating visual processing apparatus comprising retinal encoder configured in accordance with one or more implementations.

FIG. 10B is a block diagram illustrating retinal encoder of FIG. 10A configured for use in a prosthetic device adapted to process ambient visual signal; and/or processing of digitized visual signals in accordance with one or more implementations.

FIG. 11A is a block diagram illustrating computerized system useful with comprising diffusively coupled photoreceptive layer mechanism in accordance with one or more implementations.

FIG. 11B is a block diagram illustrating neuromorphic computerized system useful with comprising diffusively coupled photoreceptive layer mechanism in accordance with one or more implementations.

FIG. 11C is a block diagram illustrating hierarchical neuromorphic computerized system architecture useful with retinal encoder apparatus configured in accordance with one or more implementations.

All Figures disclosed herein are © Copyright 2012 Brain Corporation. All rights reserved.

DETAILED DESCRIPTION

Implementations of the present disclosure will now be described in detail with reference to the drawings, which are provided as illustrative examples so as to enable those skilled in the art to practice the invention. Notably, the figures and examples below are not meant to limit the scope of the present invention to a single embodiment, but other embodiments are possible by way of interchange of or combination with some or all of the described or illustrated elements. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to same or like parts.

Although the system(s) and/or method(s) of this disclosure have been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred implementations, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed implementations, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any implementation can be combined with one or more features of any other implementation

In the present disclosure, an implementation showing a singular component should not be considered limiting; rather, the disclosure is intended to encompass other implementations including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein.

Further, the present disclosure encompasses present and future known equivalents to the components referred to herein by way of illustration.

As used herein, the term “bus” is meant generally to denote all types of interconnection or communication architecture that is used to access the synaptic and neuron memory. The “bus” could be optical, wireless, infrared and/or another type of communication medium. The exact topology of the bus could be for example standard “bus”, hierarchical bus, network-on-chip, address-event-representation (AER) connection, and/or other type of communication topology used for accessing, e.g., different memories in pulse-based system.

As used herein, the terms “computer”, “computing device”, and “computerized device”, include, but are not limited to, personal computers (PCs) and minicomputers, whether desktop, laptop, mainframe computers, workstations, servers, personal digital assistants (PDAs), handheld computers, embedded computers, programmable logic device, personal communicators, tablet computers, portable navigation aids, J2ME equipped devices, cellular telephones, smart phones, personal integrated communication or entertainment devices, and/or other devices capable of executing a set of instructions and processing an incoming data signal.

As used herein, the term “computer program” or “software” is meant to include any sequence or human or machine cognizable steps which perform a function. Such program may be rendered in virtually any programming language or environment including, for example, C/C++, C#, Fortran, COBOL, MATLAB™, PASCAL, Python, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java™ (e.g., J2ME, Java Beans), Binary Runtime Environment (e.g., BREW), and/or other programming languages and/or environments.

As used herein, the terms “connection”, “link”, “transmission channel”, “delay line”, “wireless” means a causal link between any two or more entities (whether physical or logical/virtual), which enables information exchange between the entities.

As used herein, the terms “graded signal”, “continuous signal”, “real-world signal”, “physical signal” may describe a non-spiking signal (either analog or non-binary discrete). A non-spiking signal may comprise three or more distinguishable levels.

As used herein, the term “memory” includes any type of integrated circuit or other storage device adapted for storing digital data including, without limitation, ROM, PROM, EEPROM, DRAM, Mobile DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), memristor memory, PSRAM, and/or other storage media.

As used herein, the terms “microprocessor” and “digital processor” are meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., field programmable gate arrays (FPGAs)), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, application-specific integrated circuits (ASICs), and/or other digital processing devices. Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.

As used herein, the term “network interface” refers to any signal, data, or software interface with a component, network or process including, without limitation, those of the FireWire (e.g., FW400, FW800), USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (e.g., Gigabit Ethernet), 10-Gig-E), MoCA, Coaxsys (e.g., TVnet™), radio frequency tuner (e.g., in-band or OOB, cable modem), Wi-Fi (e.g., 802.11), WiMAX (e.g., 802.16), PAN (e.g., 802.15), cellular (e.g., 3G, LTE/LTE-A/TD-LTE, GSM), IrDA families, and/or other network interfaces.

As used herein, the terms “pixel” and “photodetector”, are meant generally to include, without limitation, any type of photosensitive circuit and/or device adapted for converting light signal (e.g., photons) into electrical form (e.g., current and/or voltage) and/or digital representation.

As used herein, the terms “pulse”, “spike”, “burst of spikes”, and “pulse train” are meant generally to refer to, without limitation, any type of a pulsed signal, e.g., a rapid change in some characteristic of a signal, e.g., amplitude, intensity, phase or frequency, from a baseline value to a higher or lower value, followed by a rapid return to the baseline value and may refer to any of a single spike, a burst of spikes, an electronic pulse, a pulse in voltage, a pulse in electrical current, a software representation of a pulse and/or burst of pulses, a software message representing a discrete pulsed event, and/or any other pulse and/or pulse type associated with a discrete information transmission system and/or mechanism.

As used herein, the terms “pulse latency”, “absolute latency”, and “latency” are meant generally to refer to, without limitation, a temporal delay and/or a spatial offset between an event (e.g., the onset of a stimulus, an initial pulse, and/or just a point in time) and a pulse.

As used herein, the terms “pulse group latency”, or “pulse pattern latency” refer to, without limitation, an absolute latency of a group (pattern) of pulses that is expressed as a latency of the earliest pulse within the group.

As used herein, the terms “relative pulse latencies” refer to, without limitation, a latency pattern or distribution within a group (or pattern) of pulses that is referenced with respect to the pulse group latency.

As used herein, the term “pulse-code” is meant generally to denote, without limitation, information encoding into a patterns of pulses (or pulse latencies) along a single pulsed channel or relative pulse latencies along multiple channels.

As used herein, the term “synaptic channel”, “connection”, “link”, “transmission channel”, “delay line”, and “communications channel” are meant generally to denote, without limitation, a link between any two or more entities (whether physical (wired or wireless), or logical/virtual) which enables information exchange between the entities, and is characterized by a one or more variables affecting the information exchange.

As used herein, the term “Wi-Fi” refers to, without limitation, any of the variants of IEEE-Std. 802.11, related standards including 802.11a/b/g/n/s/v, and/or other wireless standards.

As used herein, the term “wireless” means any wireless signal, data, communication, or other interface including without limitation Wi-Fi, Bluetooth, 3G (e.g., 3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95, WCDMA), FHSS, DSSS, GSM, PAN/802.15, WiMAX (e.g., 802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS, LTE/LTE-A/TD-LTE, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, infrared (e.g., IrDA), and/or other wireless interfaces.

Apparatus and methods for implementing sensory encoder. The encoder may comprise spiking neuron network operable in accordance with a dynamic spike response process (SRP). The process may be characterized by a response generation threshold (firing threshold). In order to control neuron output rate, the firing threshold may be adaptively adjusted whenever a neuron generates response (fires a spike).

As in biological retinas, the visual sensory signal encoder may take a continuous time signal like the photonic flux reaching the sensor and encode it into binary spike events. Binary spike events encode information in their inner spike intervals, the same as in the biological retina. This encoding scheme allows much greater information carrying capacity than clock-based representations, with much lower transmission power and signal fidelity requirements. The algorithms presented in this patent describe a biologically plausible model of encoding a continuous light or photonic flux signal into a discrete spike time signal, with the aforementioned benefits.

When uses with digitized sensory data (e.g., digital images) the encoder may receive a stream of graded (e.g., multibit resolution) RGB values and encode these into spikes (binary bit stream). Such encoding advantageously reduces output bit rate facilitates data compression.

The spike response process may further comprise adaptive adjustment mechanism configured to match neuron excitability to input signal levels. In some implementations, the adaptive mechanism may comprise scaling the input by a time-history of input variance determined over the preceding time period. In one or more implementations, the adaptation may comprise scaling the neuron input range (excitability) by the input variance time history.

Realizations of the innovation may be for example deployed in a hardware and/or software implementation of a neuromorphic computerized system.

Detailed descriptions of various implementations of the apparatus and methods of the disclosure are now provided. Although certain aspects of the innovation can best be understood in the context of artificial retina, the principles of the disclosure are not so limited and implementations of the disclosure may also be used for implementing visual processing in, for example, a robotic systems, surveillance cameras, and/or handheld communications devices. In one such implementation, a robotic system may include a processor embodied in an application specific integrated circuit, which can be adapted or configured for use in an embedded application (such as a prosthetic device).

One implementation of a sensory encoder apparatus is illustrated in FIG. 1. The apparatus 100 may be configured to receive sensory input 102 and to encode the input 102 into spike output 132. In some implementations of visual encoding, the input 102 may comprise light input, e.g., provided by a camera lens or natural light entering retinal implant. In one or more implementations of digital image encoding, the input may comprise output of an array of charge coupled devices (CCD), or an active-pixel sensor (APS). In one or more implementations, the input may comprise a digital input stream of red, green blue RGB integer values, fixed-point or floating-point real values, refreshed at a suitable frame rate, e.g. 1-10000 Hz. It will be appreciated by those skilled in the art that the above digital stream image parameters are merely exemplary, and many other image representations (e.g., bitmap, luminance-chrominance (YUV, YCbCr), cyan-magenta-yellow and key (CMYK), grayscale, and/or other image representations) are equally applicable to, and useful with, the present disclosure. Furthermore, data frames corresponding to other (non-visual) signal modalities such as sonogram, radar, seismographs, or tomography images are equally compatible with the general architecture shown in FIG. 1.

In some implementations, the input may comprise bi-phasic structure, e.g., comprise a positive phase and a negative phase. In some implementations, the bi-phasic input may be obtained by removing a constant level (e.g., mean, or median) from the input.

In one or more implementations, the bi-phasic input may be obtained by emulating response functionality of the biological retinal bipolar cells. In some implementations, the response emulation may be achieved by convolving the input with a bi-phasic temporal filter. In some implementations, the response emulation may be achieved by convolving the input with a center-surround spatial filter. In one or more implementations, input into the surround may be delayed and/or low-pass-filtered relatively to the center input.

Referring now to FIG. 2A, detail structure of the sensory encoder apparatus 200 (e.g., the apparatus 100 of FIG. 1) is illustrated in accordance with one implementation of the disclosure.

The apparatus 200 may comprise photoreceptive (cone) block 220 and encoding (neuron) block 230. The cone block may be configured in accordance with the diffusive coupling methodology (depicted by broken lines 226 in FIG. 2A) and described in detail co-owned and co-pending U.S. patent application Ser. No. 13/539,142, entitled “RETINAL APPARATUS AND METHODS” filed Jun. 29, 2012, incorporated supra.

In some implementations, the encoding block may comprise spiking neuron network, illustrated by broken line rectangle denoted 230 in FIG. 2A. The encoding block 230 may receive photoreceptor output via connections 222. In some implementations, the connections 222 may comprise connection weights, configured to adapt input types to the encoder unit type, as described below with respect to FIG. 2B.

In some implementations of digitized image processing, the photoreceptive layer may comprise a virtual layer comprised of a plurality of image pixels. In such implementations, and the connections 222 may comprise virtual connections effectuated via, for example, memory addressing.

Individual units 234 of the network may receive input from one or more photoreceptors, such as the unit 234_1 may receive input from the photoreceptors 220_1, 220_2, 220_3 and the unit 234_2 may receive input from the photoreceptors 220_2, 220_3, 220_3 and so on, as illustrate din FIG. 2A. The area of the photoreceptive layer (e.g., the layer 220 in FIG. 2A) corresponding to the photoreceptors providing input for a particular encoding unit (e.g., the unit 220_2 in FIG. 2A) may be referred to as the “circle of confusion”, as depicted by a curve denoted 228 in FIG. 2A.

The network of the encoder block 230 may comprise one (or more) unit types, as illustrated in FIG. 2B. The block 240 of FIG. 2B comprises three unit types arranged into separate layers 242, 244, 246 may receive the input 222 and may generate layer output 252, 254, 256. The output of individual layers may be combined to produce encoded output 232.

The input into deferent unit layers (e.g., the layers 242, 244, 246) may comprise different input channels 222_1, 222_2, 222_3. In one or more implementation of providing input comprising more than one component (e.g., wavelength), the channels 222_1, 222_2, 222_3 may comprise connection weights, configured to assign input components to appropriate encoder layers. By way of example of encoding retinal input, comprising L and M (long and medium wavelength, respectively) components, weights of the connections 222_1 may be used to provide input I=L+M to the parasol unit layer 242. Similarly, weights of the connections 222_2 may be used to provide input I=L−M to the red midget unit layer 242. When encoding, digitized images (e.g., a stream of RGB pixels) the input 222 may be decomposed into individual red/green/blue sub-channels 222_1, 222_2, 222_3, as shown in FIG. 2B. In some implementations, the total input 22 may be delivered to all encoder layers (e.g., the layers 242, 244, 246) and the component separation may be implemented by the encoder units via any appropriate methodologies (e.g., filtering, address decoding, stream parsing, etc.)

Unit types of different layers (e.g., the layers 242, 244, 246) may be configured to encode the input 222 based on one or more of characteristics, associated with the unit response process. In some implementations, the response characteristic may comprise a spectral density parameter (e.g., wavelength). The spectral density parameter may be utilized to enable units of a particular type to respond to input of the appropriate direction or region in the color space (e.g. units sensitive to yellow-blue contrast, red-green contrast, and/or luminance). In some implementations, the response characteristic may comprise a spatial response, and/or a temporal response. In some implementations, the temporal response may be based on a high-pass, band-pass, and/or low-pass temporal filter. In one or more implementations, the spatial response may be configured based on a circular, and/or an asymmetric center-only or center-surround spatial filter. In some implementations, the response characteristic may comprise an output spike generation parameter describing spike duration, frequency, inter spike period, and/or other response characteristics. The inter spike period may be associated with a tonic response, bursting response, and/or other responses.

In some implementations, the encoder layers (e.g., the layers 242, 244, 246) may comprise Parasol Units (PU) and/or Midget Units (MU), configured to approximate behavior of natural retina RGC midget cells (MC) and parasol cells (PC), respectively.

In one or more implementations, other unit type may be used to implement functionality supported by small bi-stratified cells (SBC) of neuroretina (SBCU). In some implementations, the network of the encoder block may be configured to comprise on- and off-SBCUs. In some implementations, the network may be configured to comprise blue-OFF center channel handled by the midget units and blue-ON center by the SBCUs.

The encoder block may comprise units of different types may in various proportions. In one implementation, there may be approximately 9 times as many MUs compared to PUs. In some implementations, the encoder block (e.g., the block 330) may comprise a single unit type (either MU or PU or another).

FIG. 3 illustrates several exemplary implementations of the parasol and midget encoder unit spatial responses. The parasol unit response 300 comprises a center area 302 and a surround area 304. The center and the surround areas may be configured to respond to opposing input stimuli. In some implementations, the center area may respond to input intensity (brightness) that his higher than the average image brightness (also referred to as the “on-center), while the surround area may respond to input brightness that his lower than the average (also referred to as the “off-surround”). Similarly, as illustrated in FIG. 300, the center area 302 (denoted with the ‘-’ sign) may respond to the input brightness that his lower than the average (“off-center”) while the surround area 304 may respond to input brightness that his higher than the average (also referred to as the “on-surround”). The center area 302 may respond to visual input (e.g., from image pixels and/or cones) that have lower intensity (depicted by the white triangles 306), while the surround area 304 may respond to higher intensity input, depicted by black triangles 308 in FIG. 3. The center area of the parasol may be large enough to receive input from several pixels/cones, between 4 and 20 in some implementations. The surround may be of a similar size as the center area in some implementations. In one or more implementations the surround area may be 3-30 times larger than the center area.

In some implementations, two types of PUs may be implemented: (i) the on-center PUs that may respond preferentially for a change from weak (e.g., dark) to strong (e.g., bright) center stimuli (or from bright to dark surround stimuli); and (ii) the off-center PUs that may respond preferentially for the exact opposite stimuli.

One implementation of the midget unit spatial response is given by the panel 320. The MU response 320 comprises an on-lobe 322 and an off-lobe 324 arranged in a dipole configuration. The parasol units may be configured to comprise spatially larger receptive fields (compared to the MUs). In one implementation, such larger receptive fields may be effectuated by pooling responses from multiple units of the photoreceptive layer. Compared to the parasol response lobes 302, 304 the size of the midget response lobes 322, 324 is smaller encompassing typically 1-2 cones, in some implementations.

In one or more implementation, the MU on-lobe 322 and the off-lobe 324 may be arranged in a co-axial configuration, illustrated in the panel 380 in FIG. 3.

The parasols of the encoder layer (e.g., the layer 242 in FIG. 2B) may comprise a tiled layout, with non-overlapping centers of their receptive fields, as illustrated by the panel 330 in FIG. 3, according to one implementation. In one or more implementations, the parasol receptive may be configured to overlap, as depicted by the panel 340 of FIG. 3.

In some implementations, encoder unit of a given type may comprise receptive fields of different sizes, as shown, for example, in the implementation of panel 350 of FIG. 3. The circles 352, 354, 356 may denote, for example, parasol center receptive field.

In one or more implementations, units of different encoder layers (e.g., the layers 242, 244, 246 of FIG. 2) may comprise overlapping tiled configurations, as illustrates in the panel 360 depicting a single the center of the PU receptive field 362 and multiple MU receptive fields 364.

Temporal response of parasol and midget units is illustrated in FIG. 4, according to one implementation. The parasol response, shown in panel 400, may comprise positive 402 and a negative lobe 412. The MU response, illustrated by the panel 420 in FIG. 4, also may comprise a positive 422 and a negative 432 lobes. However, the width of the positive lobe 426 may be typically more than twice the width of the negative lobe 436, while the maximum positive response amplitude 424 may be substantially greater (2-5 times in some implementations) than the maximum negative response amplitude 434. In one or more implementations, the PU may be characterized by a fast bi-phasic response, while MU may be characterized by a more sustained response.

In some implementations, the midget and parasol units may differ in their input connectivity and/or in the filtering of the input they receive from the model cone units.

FIG. 4A illustrates one implementation of temporal filtering by the MUs. The panels 440, 450 depict MU receptive fields comprising ‘on’ 444, 452, 454 and an ‘off’ stimulus 442, presented to the MU at times t0, t1 respectively. The MU of FIG. 4A is configured to implement a temporal averaging filter (e.g., exponential, Gaussian, running mean, etc.). Accordingly, the output of the MU at time t1 may comprise an average of the inputs 444, 454 and 442, 452, indicated by shaded triangle 464 and black triangle 462, respectively, in FIG. 4A.

FIG. 4B illustrates one implementation of spatial filtering by the PUs. The panels PU receptive field 470 comprises on-center portion 472 and off-center surround 474. In some implementations, the PU response may be configured based on a linear combination of individual pixel/photoreceptor stimuli within the center and/or surround portions of the receptive field (e.g., the portions 472, 474). In on implementation, the linear combination may be determined using a weighted average of the dark and/or light stimuli denote by black and white triangles 476, 478, respectively, in FIG. 4B) as: I=Σ _(i) a _(i) f _(i)  (Eqn. 1) where the weights a_(i) may be configured according to the difference-of-Gaussians (DoG) spatial profile. Accordingly, the receptive field (RF) of the PU in this implementation may be characterized by the spatial DoG form. Similarly, input stimulus associated with the surround portion of the PU RF may be determined based on a combination of individual pixel/photoreceptor stimuli within the surround portion (not shown).

In some implementations, the input I may be provided by a diffusively coupled photodetector layer, such as described in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, and entitled “RETINAL APPARATUS AND METHODS”, incorporated supra. As described in the above-referenced application, the individual cone output f_(i) comprised high-pass filtered signal.

In some implementations, the input I may comprise digitized pixel stream J. Accordingly, the input may be passed through a high-pass filter configured to remove low (near-DC) frequency content.

In some implementations, the tonic character of the MUs response may be effectuated by, at least partly, low-pass filtering (in time) their input. In one or more implementations, the tonic character of the midget unit response may be effectuated by higher sensitivity of the MUs to weaker stimuli that is achieved by renormalizing their input using input variance.

In one or more implementations, the parasol and the midgets units may be configured to comprise spatio temporal characteristics of a biological RGC layer. In some implementations, the MUs may be characterized by spatially smaller receptive fields, relative to the PUs. The spatial dimensions of the receptive fields of the midget units may be adjusted by controlling parameters of the diffusive process within the photoreceptive layer (e.g., as described in detail in U.S. patent application Ser. No. 13/540,429 entitled “SENSORY PROCESSING APPARATUS AND METHODS”, incorporated supra).

In some implementations, lateral connections between the RGCs may contribute to their response, particularly to the surround stimulation.

In some implementations, the prolonged (tonic) response of the MUs may be configured based at least in part on their time-integral properties, where the MU response may be configured based on a time integral of the MU input. The PUs may be configured to produce more brief (or phasic) response and may be more sensitive to rapid changes in brightness and less sensitive to slow or sustained changes, compared to the PUs. Time course of the PU response may be closely augmented by the time course of the cone response.

The PUs and MUs may be configured to implement center-surround opponency of their receptive field, as explained above. Such configuration of the midget and the parasol units, may be suited for detecting coherence in the input signal with the MUs being more sensitive to slower motion and the PUs being more sensitive to faster motion of objects in the visual scene.

In some implementations, the PUs may be configured to receive same strength input from L and M cones, whereas MUs may receive opposite input from L and M cones. By way of background, three types of cone photoreceptors exist in mammalian retina: L, M, and S, sensitive to Long, Medium, and Short wavelengths of the visible light. In some implementations, the input into the encoder units (e.g., MUs, PUs) may comprise stimulus from one or more types of photoreceptors. The photoreceptors may be characterized by a specific spectral and or other operation parameters configured in accordance with application.

Thus PUs may be sensitive primarily to changes in brightness. The MUs may be also sensitive to red vs. green chromaticity. In one or more implementations, the S-cone inputs (blue) may be either handled by a special class of MUs or by a different class of RGCs (small bi-stratified cells (SBCs)) altogether. In some implementations, yellow-blue chromaticity may be described as (L+M)/2 vs. S cone input opponency.

In one or more implementations, the spike generation mechanism used by the PUs and/or MUs may comprise log-encoding of spike latency as described, for example, in a co-owned U.S. patent application Ser. No. 12/869,573, entitled “SYSTEMS AND METHODS FOR INVARIANT PULSE LATENCY CODING”, filed Aug. 26, 2010 and issued as U.S. Pat. No. 8,315,305 on Nov. 20, 2012 and co-owned U.S. patent application Ser. No. 12/869,583, entitled “INVARIANT PULSE LATENCY CODING SYSTEMS AND METHODS”, filed Aug. 26, 2010 and issued as U.S. Pat. No. 8,467,623 on Jun. 18, 2013, each of the foregoing incorporated herein in its entirety.

As illustrated by FIG. 5, units of individual types (e.g., units 502) may be placed on a grid. In some implementations, the hexagonal grid 500 comprises multiple units 502 of the same type thereby forming a single encoding later (e.g., the layer 242, 244, 246) of the encoder 240 of FIG. 2. Consequently, the encoder may comprise two or more grids in order to support units of two or more types. In some implementations, the location of the units on the grid may be jittered′, i.e., comprise a random position component dr determined, for example, as follows: Δr=pr  (Eqn. 2) where:

r is a nominal node-to node distance (e.g., the distance 504 in FIG. 5) and

p is a random number selected from the range [0, 1], in one implementation.

In some implementations, the grid may comprise rectangular, jittered rectangular, random, etc., with and/or without periodic boundary conditions (torus surface topology). In one or more implementations configured to characterize natural retina encoding, the number of MUs may exceed the number of PUs by a factor between 2-30 times more, depending on the specific application and/or on the region of the retina that is characterized.

In one implementation directed at processing visual input from a neuroretina, five types of MUs may be implemented in the encoder. Red-on center that prefer bright pink or red (high L input) in the RF center and dark (low L and M) input in the RF surround; red-off center that prefer non-red (low L) input in the center and bright input (high L and M) in the surround; green-on center that prefer high M input in the center and low L and M input in the surround; green-off center that prefer low M input in the center and high L and M input in the surround; and blue-off center that prefer low S input in the RF center. Blue-on center signal is sub-served by the SBCs. In some implementations of the present model, for a maximal savings in the computational resources, the implemented number of the MU and SBC types is reduced from 6 to 2: namely, “L−M” MUs that prefer high L and low M, and “M−L” MUs that prefer low L and high M. When this is done, the center and surround of the MU RFs may have annular structure, or may have a “dipole” structure (non-concentric L and M regions of similar shape and size, e.g. approximately Gaussian), depending on application. It should be noted that the former is biologically rather accurate for the retinal periphery, whereas the latter is biologically rather accurate in the fovea or its vicinity. In other implementations, 4 or all 6 MU & SBC types may be implemented. When blue-on and blue-off RGCs are implemented, the RF centers for those two RGC types usually subtend substantially larger areas than the red-green MU RF centers.

In many applications, centers of RFs of the PUs of each type tile, and the centers of the RFs of the MUs of every type tile. In other applications, centers may overlap to some extent, or gaps may exist between the centers of the RFs.

Both in the biological retinas and in the present invention the cones and the bipolar cells produce graded output; the action potentials that make up the spiking retinal output are produced by the internal dynamics of the RGCs. All three types of the RGCs described above are spiking, both in biological retinas and in the present invention.

Biological retinas adapt, to some extent, to the intensity (illuminance) and the contrast of the incident light (the visual stimulus). Importantly, adaptation allows the matching of the output dynamic range of the RGCs to the range of (spectral) illuminance in the visual input. Biologically, adaptation occurs intrinsically in every type of retinal nerve cells, as well as extrinsically via pupil dilation and constriction. In the present invention, to save computational resources and hardware engineering efforts, we realize the intrinsic adaptation in the internal dynamics of the RGCs, as explained below.

MUs and PUs differ in their input connectivity and in the filtering of the input they receive from the model cone cells, but utilize the same basic spike generating mechanism described below. As described below, tonic characteristic of MUs responses may be enabled based on low-pass filtering their input. Furthermore, higher sensitivity of the PUs to weak stimuli may be achieved by normalizing their input by the history of the input variance.

While existing implementations may require multiple pre-determined photoreceptor to neuron connections in order to obtain the desired spatial response (e.g., DoG) of the retinal apparatus, in one or more implementations, the units of the encoder block (e.g., the block 230, of FIG. 2A) may be coupled to the photoreceptive elements (e.g., the elements 220, of FIG. 2A) via a single photoreceptor to encoding neuron connection, as illustrated in FIG. 2C.

The diffusively coupled photoreceptive layer, described in detail in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra, advantageously enables to obtain, inter alia, DoG spatial response of the retinal apparatus using a single cone to output block connection, as illustrated by the connection 262 respect to FIG. 2C. As shown in FIG. 2C, the photoreceptive layer 262 may comprise several diffusively coupled cones, for example, 262_1, 262_2, 262_3 (as denoted by the resistive links 226 in FIG. 2C). One of the cones, e.g., the cone 262_2, may be coupled to the unit 274 of the encoding layer 270 via the connection 264. Diffusive cone coupling and cone to neuron connection 264 cooperate to cause generation of the appropriate spatial response (e.g., the area of confusion, depicted by the curve 268 in FIG. 2C). Coupling the photoreceptive block to the output block via a different connection may cause a different spatial retina response, as co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra. The encoder configuration illustrated in FIG. 2C, may provide for the desired spatial response, with fewer connections, compared to configurations of prior art. Accordingly, a less expensive and simpler implementations of the sensory processing apparatus may be constructed while maintaining the desired response properties.

Diffusive coupling structure of the cone layer, advantageously allows for simplified connections between the cones. In one or more implementations, such simplified connectivity may be configured to reduce (or eliminate altogether) built-in (hard wired) delays presently used by the prior art. Hence, an apparatus utilizing diffusive connectivity of the present disclosure may reduce hardware complexity, and/or cost and improve performance and flexibility.

In some implementation, a generalization of a leaky integrate-and-fire spiking neuron model may be used to describe dynamic behavior of the neurons of the encoder block (e.g., the units 234 of block 230 in FIG. 2A). The membrane potential and the dynamic conductance of the neuron process of the present disclosure may be expressed as:

$\begin{matrix} {{{C\frac{\mathbb{d}u}{\mathbb{d}t}} = {I - {g\; u}}},} & \left( {{Eqn}.\mspace{14mu} 3} \right) \\ {{{\tau_{g}\frac{\mathbb{d}g}{\mathbb{d}t}} = {{g_{\infty}(u)} - g}},} & \left( {{Eqn}.\mspace{14mu} 4} \right) \end{matrix}$ g _(∞)(u)=max(a+bu,0),  (Eqn. 5) u=max(u,u _(min)),  (Eqn. 6) where:

-   -   I is the input stimulus (e.g., photodetector current and/or a         digitized value of RGB pixel channel,     -   C is membrane capacitance, set to one, in some implementations,     -   u is the dimensionless membrane potential, and     -   g is the dimensionless membrane dynamic conductance.

In some implementations, the parameters of Eqn. 3-Eqn. 6 may be configured as follows: τ_(g)=20.3 ms (or generally between 2 and 100 ms), u_(min)=−0.5, a=0, b=0.0821 (or generally the value of u_(min) and the functional form g_(∞) (u) that produce the correct firing pattern. In one implementation, the parameters of g_(∞) (u) may be parameterized by a curve-fit to the desired latency of the first spike as a function of the amplitude of a step-up in the input I).

In some implementations, multidimensional optimization techniques may be used to fit parameters a, b, τ_(g) to obtain desired characteristics of the neuron output. In one or more implementations, the desired output may be characterized by, for example, dependence of the spike latency of the first spike on the amplitude of a step-up in the input I and/or dependence of the timing of individual spikes on the temporal form of a particular input I(t) or set of inputs {I(t)}. “The neuron process of Eqn. 3-Eqn. 6 may be configured to generate an output (spike) when membrane potential u reaches or exceeds the firing threshold u_(th). In that case the membrane potential and the conductance may be reset as: u=0,  (Eqn. 7) g=1.  (Eqn. 8)

In one or more implementation, the neuron dynamic model of Eqn. 3-Eqn. 6 may comprise an adaptive firing mechanism configured to adjusts the firing threshold u_(th) as follows:

$\begin{matrix} {{{\tau_{u\; t\; h}\frac{\mathbb{d}u_{t\; h}}{\mathbb{d}t}} = {u_{{th}\;\infty} - u_{th} + {\Delta\; u\frac{\tau_{uth}}{\mathbb{d}t}\delta}}},} & \left( {{Eqn}.\mspace{14mu} 9} \right) \end{matrix}$ where:

-   -   δ=1 is a parameter indicating the generation of neuron response         at present time step (1 neuron spikes and 0 when it does not         spike);     -   u_(th∞) is the membrane potential lower limit;     -   Δu is the membrane potential increment when the neuron generates         response; and     -   τ_(uth) is the adjustment time scale (e-folding decay window).

In one or more implementations, the adjustment time scale τ_(uth) may be configured in the range between 1 s and 10 s. The time scale τ_(uth) may be considerably longer compared to inter spike (ISI) interval. The threshold u_(th) (determined by Eqn. 9) decays exponentially to the minimal allowed value of u_(th∞), that may be set to 0.33 in one implementation and/or in the range between 0.01 and 0.80). When the neuron generates a response (fires a spike) the threshold may be incremented by Δu. Value of Δu is chosen so that it is inversely proportional to the desired baseline firing rate of the neuron. That is, for larger Δu firing threshold u_(th) of a neuron may increase rapidly whenever the neuron is active (generates spikes). As the firing threshold increases, neuron responses diminish in frequency even when the neuron is receiving a strong sustained input. In some implementations, the increment Δu may be set between 0.0005 and 0.02. In one or more implementations, any non-negative value can be used to produce the desired spiking responses. Hard ceiling for u_(th) is set at 2.0 in some applications, and no hard ceiling is imposed on u_(th) in many others. Initial value of u_(th) may be set to 1.0. Time constant τ_(uth) may be set to 0.1-1000 s depending on the simulation duration and details; the value we used in most applications is 2 or 4 s

The adjustment of Eqn. 9 may be applied to individual neurons of the encoder network independently from one another so that the encoder output rate may be configured as desired. In one or more implementations, the parameters a, b, τ_(g) Δu, u_(th), u_(th∞) τ_(uth), and/or other parameters of Eqn. 3-Eqn. 9 may be adjusted, individually and/or in a combination. Multidimensional optimization techniques may be utilized in order to obtain a desired spike count, spike rate, spike timing, spike latency, inter-spike intervals, and/or any combination thereof, for a given temporal form of a particular input I(t) and/or a set of inputs {I(t)}.

In one implementation, the network may be configured to implement flexible biologically relevant encoder (for use, for example, with retinal prosthetics).

Parasol cells (PC) of mammalian retina are more sensitive to luminance (or L+M input direction) than to red-green chromaticity (or L−M input direction). Accordingly, in one implementation targeted at reproducing functionality of mammalian visual system, two types of parasol units may be defined: on-center parasols (OnPU) and off-center parasols (OffPU).

As described above with respect to FIG. 4, the PU receptive field may comprise biphasic temporal response. The PUs may be configured to respond to changes from dark to bright (OnPU) or from bright to dark (OffPU) at their RF centers.

In some implementations, the input I to the PUs may comprise a weighted linear combination of individual photoreceptor (e.g., cone) output f_(i) from the cone layer, described, for example, by Eqn. 1. Accordingly, the parasol units may perform spatial integration of the input stimuli. In one or more implementations, the integration may comprise evaluating contributions from 10 to 400 inputs f_(i).

Generation of the photoreceptive output (e.g., the output 202 in FIG. 2A) is described in detail co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra.

In some implementations, the second temporal lobe of the PU RF (e.g., the lobe 412 in FIG. 4) may be configured to have lower amplitude 414 compared to the maximum amplitude of the first lobe 402. That is, the PU time kernel is configured to realize a linear combination of proportional and time-derivative operator

In some implementations, spectral characteristics (e.g., the color-space direction) of the PUs may be configured close to L+M. That is, the PUs may receive the same-sign input from L and M cones, and the exact preferred color-space direction is defined by the relative abundance of L and M cones in the photoreceptive area corresponding to the unit RF. In some implementations, the DoG receptive field may comprise the surround area that is few times broader than the center. In one such implementation, the surround-to-center radius ratio may be configured equal 2. In some implementations, desirable for higher biological accuracy but requiring higher computational resources, a larger ratio may be used be used. As used herein, the term “radius” is used to refer to the standard deviation of the 2D Gaussian envelope.

In some implementations, radius of the surround area may be limited to 3 times the standard deviation of Gaussian profile. In one or more implementations, the surround area may be configured such that spatial integral of its sensitivity is equal about 0.9 of that of the center area. Accordingly, the OnPUs may respond (weakly) to the full-field luminance increases and not to the full-field luminance decreases. Bringing the sensitivity ratio close to a unity may cause a weakened response to full-field increases in brightness.

In some implementations, the PU may be described using a space-time separable response, so that the center and the surround having the same time base. Correspondingly, the PUs may be more sensitive to moving stimuli and comprise lower (and/or altogether absent) directional selectivity (preferred directions). For example, the PU may respond to a local edge moving in any direction. In one or more implementations, the OnPUs and the OffPUs may comprise the same spatial and/or temporal RFs characteristics (such as described above), of the opposite sign. In some implementations, the PU may be described using a space-time inseparable response. In one or more implementations, the space-time inseparable response may be based on a low-pass filtering of the surround input and/or a delay of the surround input relative to the center input.

It may be of benefit to adapt encoder unit sensitivity to changes in input. In one implementations, parasol unit input sensitivity may be increased when a weaker (compared to prior stimulus as described below) stimuli. In one approach of the disclosure, the encoder unit adaptation may comprise rescaling of the averaged input I (e.g., the weighted average photodetector stimulus of Eqn. 1) into the PU dynamic model (e.g., the model and Eqn. 3-Eqn. 6). In or more implementation, the rescaling may be performed using a time-record (history) of variance v(t) of the averaged input I(t).

In some implementations, such as described in detail U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra, photodetector output f comprises zero-man signal Accordingly, mean of the input I(t) approaches zero, so that mean of its square approximately equals its variance v(t). The rescaled input Î(t) may be expressed as:

$\begin{matrix} {{{\hat{I}(t)} = \frac{I(t)}{\left( {E + {v(t)}} \right)^{\kappa}}},{{I(t)} = {\sum\left( {a_{j}{f_{j}(t)}} \right)}}} & \left( {{Eqn}.\mspace{14mu} 10} \right) \\ {{\tau\frac{\mathbb{d}}{\mathbb{d}t}{v(t)}} = {{I(t)}^{2} - {{v(t)}.}}} & \left( {{Eqn}.\mspace{14mu} 11} \right) \end{matrix}$ where:

-   -   the exponent K may be used to control rescaling rate; and     -   E is a parameter configured to prevent numeric instability         (e.g., a divide by zero) and/or prevent amplification of noise         when signal too weak to carry usable information.

In some implementations, the exponent K of the PUs may be configured equal 0.32. Accordingly, for large input signals, standard deviation of the scaled input Î(t) to PUs increases with the increase of standard deviation of the raw input (e.g., the weighted photoreceptor output I(t) as follows: stdev({circumflex over (I)}(t))∝stdev(I)^(0.36)  (Eqn. 12)

In one or more implementations, value of K may be set between 0 and 0.5 to match specific design requirements. Generally, lower K may produce low adaptation, while larger K may result in variance of unity (whitened) signal.

FIG. 6A illustrates exemplary responses of midget and parasol encoding units as a function of input amplitude. The input I(t) used to obtain data presented in FIG. 6A comprises wide-band signal (e.g., “white noise”) with normalized amplitudes between 0 and 1.

FIGS. 6B-6C illustrate adaptive rate encoding methodology of the disclosure. The curves 630, 640 depict input sensory data that may be provided to encoder (e.g., the data 202 provided to encoder 230 of FIG. 2A). The segments 622, 624, 626 of the input 620 are characterized by the variance values σ1, σ2, σ3, respectively. Similarly, the segments 632, 634, 636 of the input 620 may be characterized by the variance σ3, σ2, σ1, respectively. In one implementation, variance may be computed in accordance with Eqn. 11. For the purposes of illustrating one implementation of adaptive rate encoding of the disclosure, consider the input of segments 624, 634. As shown in FIG. 6B, variance of the segment 624 exceeds variance of the preceding segment 622: σ2>σ1. However, variance of the segment 634 is lower than variance of the preceding segment 632: σ3<σ1. In other words, compared to the segments 622, 632, respectively, variance of the segment 624 went up, while variance of the segment 634 went down. Accordingly, using Eqn. 10-Eqn. 111 the encoder rate R2 of the segment 624 is higher, compared to the encoder rate R1 of the segment 622, while the encoder rate R5 of the segment 634 is lower, compared to the encoder rate R4 of the segment 632. Correspondingly, the encoder rate R3 of the segment 626 is lower, compared to the encoder rate R2, while the encoder rate R6 of the segment 636 is greater, compared to the encoder rate R4.

As illustrated in FIG. 6C, the segment 644 is preceded by the segment 642, characterized by higher variance: σ2>σ1; while the segment 624 is preceded by the segment 642, characterized by lower variance: σ3<σ1. Accordingly, using Eqn. 10-Eqn. 111 encoder rate R8 of the segment 644 decreases (compared to the rate R7 of the preceding segment 642), while encoder rate R10 of the segment 654 increases (compared to the rate R9 of the preceding segment 652).

In one or more implementations, the encoder of the present disclosure (e.g., comprising parasols and/or midget units) may encode input into spike latency, as described, for example, in U.S. patent application Ser. No. 13/548,071, entitled “SPIKING NEURON NETWORK SENSORY PROCESSING APPARATUS AND METHODS”, filed on Jul. 12, 2012, U.S. patent application Ser. No. 13/152,119, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”, filed on Jun. 2, 2011, and U.S. patent application Ser. No. 12/869,573, entitled “SYSTEMS AND METHODS FOR INVARIANT PULSE LATENCY CODING”, filed on Aug. 26, 2010, each of the foregoing being incorporated herein by reference in its entirety. In some implementations, input of larger amplitude may be encoded into one or more spikes with shorter latency, compared to the input of smaller amplitude. In some implementations, input amplitude may comprise deviation of input characteristic (e.g., luminance) from an average value (such as frame averaged luminance).

As shown and described with respect to FIG. 4A, the midget units may perform temporal integration of the input stimulus as a part of the spike generating process (e.g., the LIF process of Eqn. 3-Eqn. 6). In one or more implementations, the MUs may be configured to integrate over a smaller spatial extent (e.g., 2 photoreceptors) in their RF center and/or surround, compared to the spatial integration extent of the PUs. In some implementations, the MUs may be configured to integrate over a larger spatial extent (e.g., 3-20 photoreceptors), thereby producing a temporal-spatial integrator. In one implementation, the MU spatial integration may be weighted in accordance with the DoG response.

In some less computationally intensive implementation of sensory encoder, two types of MUs may be defined: red-on center MU (rMU) and green-on center MU (gMU). Individual rMU may receive positively-weighted input from several (one to two in some implementations) nearest L-cones and negatively-weighted input from one or more (same number as center, in some implementations, or a larger number, in some applications) nearest M-cones. Connection weight determination procedure is described below. In the implementations where the center and the surround are of the same size, there is no difference between red-on center MUs and the green-off center MUs in this apparatus; rMU sub-serve both roles. Connections to the gMUs are similar of those to the rMUs, but with positive weights for M-cone inputs and negative weights for the L-cone inputs. Therefore, model gMUs can be viewed as either green-on center MUs or red-off center MUs.

In some implementations comprising two MU types, cone to MU connection weights may be determined as follows: for rMUs, L input weights may set to 1/(number of L inputs). The M-connection weights may be set to −1/(number of M inputs).

In one or more computationally intensive implementations, comprising 4 types of red-green MUs, the MU centers may receive pure L and/or pure M inputs (positive L for red-on center MU, negative L for red-off center MU, etc., as described above). However, the surrounds may receive mixed L and M inputs. In one implementation, the mixed input may originate from a larger number of cones, with weights w=1/(total number of surround inputs) for off-center and w=−1/(total number of surround inputs) for on-center MUs.

In one or more implementations, surround input weights may decrease with distance d from the MU according to a function n(d). In one implementation, the decay function n(d) may comprise Gaussian dependence. Appropriately, the surround weight for input from the i-th photoreceptor may be expressed as:

$\begin{matrix} {{w_{i}^{-} = \frac{n\left( d_{i} \right)}{\sum{n\left( d_{i} \right)}}},{w_{i}^{+} = {- \frac{n\left( d_{i} \right)}{\sum{n\left( d_{i} \right)}}}},} & \left( {{Eqn}.\mspace{14mu} 13} \right) \end{matrix}$ for the off-center and on-center MUs, respectively.

In most computationally intensive implementations, where all 6 types of MUs and SBCs are used, the 4 red-green MU types are implemented the same way as above, and the blue-yellow chromaticity (“koniocellular pathway”) is handled by the two additional “SBC” cell types implemented as described in the next subsection (“Other RGC types”). Please note that, for the ease of explanation, we designate both blue-on center and blue-off center RGCs as “SBCs”. That is done solely to denote the fact that they are primarily sensitive to the blue-yellow chromaticity of the input signal, and does NOT imply that they are or are not distinct from MUs or from each-other in any details of their realization.

The input I to a MU is a weighted sum of the photodetector output values f_(i) as described above. In order to reproduce the “tonic” character of the MU response as opposed to “phasic” response of the PUs, the input I to MUs may be low-pass filtered in time. The low pass filter may be, in some implementations, described by a first-order differential equation:

$\begin{matrix} {{{\tau_{I}\frac{\mathbb{d}J}{\mathbb{d}t}} = {I - J}},} & \left( {{Eqn}.\mspace{14mu} 14} \right) \end{matrix}$ where J is the low-pass filtered input. In these implementations, the low-pass filtered input J may be used in the spike generation mechanism (for example, in place of the input I of Eqn. 3-Eqn. 6). In some implementations, the time constant τ_(i) may be set to 20 ms, producing a relatively fast response; in other implementations, other values (usually in the 20-200 ms range) are used for τ_(I), producing slower time response.

In some implementations the photoreceptor (e.g., the source of the input 202 in FIG. 2A) may comprise the diffusively coupled cones described in detail co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra, As such diffusively coupled cones are characterized by linear process, the averaged output of the cones (e.g., the input into the encoder neuron I(t)) may be scaled linearly with the input stimulus amplitude, without adaptation. Such approach may advantageously this saves considerable computational and engineering effort. Intrinsic retinal adaptation mechanisms may be implemented in the RGCs. Adaptation mechanisms in the RGCs, implemented as described here, may be sufficient to match the output dynamic range to that of the input, typically over 100-1000 fold range of stimulus amplitudes. In some implementations, the adaptation mechanisms of the disclosure may be utilized with inputs having dynamic range in excess of 1000 fold, by adjusting the spike time resolution and/or adaptation threshold parameter values. In conjunction with eye pupil or optical device aperture and/or shutter providing additional adaptation range, the adaptive encoding mechanism of the disclosure may be adequate for processing visual inputs in most applications. Notwithstanding, in some implementations an additional global or local adaptation mechanism of the rescaled input Î(t) may be utilized. In one or more implementations, comprising a cone photoreceptive layer, such as described, for example in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra, the adaptation of the input may be implemented separately for individual cones. This additional adaptation mechanism, inter alia, helps minimize the effect of the spectrum of the illuminant on the apparatus response, and to improve the color constancy.

The Small Bistratified Units (SBUs) may be added to the encoder network (e.g., the encoder 240 of FIG. 2B) in order to, for example, to sub-serve the 2S−(L+M) color axis. That is, the blue-yellow color direction. In one implementation, a blue off-center SBU may be s along with the real blue on-center SBCs, and not to have the MUs handle the blue off-center responses. The SBU RF shape (but not the preferred color direction) is either DoG, like that of the PUs. When maximal biological accuracy is desired, a center-only Gaussian (no surround) blue-on SBUs may be used. Time-response low pass filter time constant of the SBUs may be tuned to match performance requirements of the application. In particular, blue pathway may be made somewhat slower than the red & green pathway (for example, using longer time constants of time integration of the cone input to the RGCs) to reproduce more accurately the processing of movement and color in primates.

This implementation may further improve computational performance, at the expense of introducing variability in the PU receptive fields.

In one such implementation, the number of connections from photodetectors (e.g., the detectors 220 in FIG. 2A) to PU surrounds (e.g., the area 304 in FIG. 3) may be reduced. Such cone-to encoder connections (e.g., the connections 222 in FIG. 2A) are computationally expensive and may be replaces with lateral connections between the receptive fields of neighboring PUs 700, 710 as illustrated in FIG. 7A. FIG. 7A depicts plan view of a single encoder layer (e.g., the parasol layer), comprising lateral connectivity. The lateral connection 708 may be interpreted as playing the role of the amacrine cells in the vertebrate retinas. In one implementation, the center input 702 of one PU (700 in FIG. 7A) may be combined with the center inputs of the neighboring PUs (e.g., the surround area 714 of the PU 710 in FIG. 7A). Conversely, the connection 706 may effectuate a combination of the center input 712 with the center input 702 of the PU 700.

In one implementation, the combination may comprise a subtraction and a constant scale factor as follows: Î ^(i) =I _(cent) ^(i)−Σ_(j≠i) I _(cent) ^(j)  (Eqn. 15) where

-   -   I^(i) is the input into the i-th PU from respective         photodetectors within its receptive field center;     -   Î_(i) is the combined input into the i-th PU RF;     -   I_(cent) ^(j) is the input into the neighboring j-th PU from         respective photodetector within its receptive field center; and     -   A_(j), is the scale factor.

In this implementation, surround input to any PU comprises a weighted sum of center inputs to a few (typically 5-25) neighbor PUs, which is in contrast to the Implementation I where surround input to any PU comprises a weighted sum of many (typically, hundreds or in some implementations thousands) cone inputs. The PU surrounds in the Implementation II may or may not receive some direct cone inputs, as well; but for the sake of computational performance and/or engineering costs it is preferable that they do not.

In one realization of the lateral connectivity, the number of surround receptive fields in Eqn. 15 may be selected equal 10 and the scale factor Aj=0.1.

In some implementations, the lateral connections within the encoder block (e.g., the connections 706, 708) may comprise instant links. That is, the contributions of e.g., Eqn. 15 are added instantaneously so that the, i.e., have. We simply add neighbor PU center inputs from the same time instance to yield the surround input. In this case, the PU RFs will be approximately time separable.

In some implementations, the PU may be described using a space-time inseparable response. In one or more implementations, the space-time inseparable response may be based on a low-pass filtering of the surround input and/or a delay of the surround input relative to the center input.

FIG. 7B illustrates lateral connectivity implementation in conjunction with the encoder to photodetector connectivity. The processing apparatus 730 of FIG. 7B may comprise a photodetector layer 732, input connectivity (e.g., photodetector to encoder) layer 740 and the encoder layer 750. The encoder layer may comprise one or more encoder units 750_1, 750_1, 750_3 characterized by receptive fields (e.g., the broken line rectangle denoted 734 in FIG. 7B). The circles in FIG. 7B denote the centers of the unit 750 receptive fields. The RF surround portions are not shown for clarity. In one implementation, the units 750 may comprise the parasol units described supra.

The receptive fields 732 of the units 750 may comprise two or more (5 in one implementation) photodetectors 732_1. The connectivity between the photodetectors within the receptive field of a unit 750 is denoted by the vertical arrow 740. By way of example, the unit 752_2 receives input from photodetectors within the receptive field 734 via the connection map 740_2. The connections 740 may comprise excitatory connections denoted by the ‘+’ sign in FIG. 7B.

The encoder layer 750 may further comprise lateral connections 752 between RF centers of neighboring encoder units (e.g., the units 750). The connections 752 are inhibitory (as seen from Eqn. 15) as denoted by the ‘−’ sign in FIG. 7B.

In one implementation, the lateral connectivity (e.g., the connections 752 in FIG. 7B) may be interpreted as providing inhibitory input from receptive fields of neighboring encoder units. By way of example, in FIG. 7B, the unit 750_2 may receive excitatory input from photodetectors of the receptive field 732_2 (denoted by the arrow 740_2) and inhibitory input from photodetectors of the receptive fields 732_1, 732_3 (of the units 750_1, 750_3, respectively). Such inhibitory input into the unit 750_2 is depicted by the broken line arrows 744_1, 744_2 (denoted by the ‘−’ sign), respectively. It is noteworthy, that the inhibitory input 744_1, 744_2 may be scaled by a factor less than unity.

In some implementations, the lateral links 752 may be reciprocal so that the unit 750_2 may provide inhibitory input to the unit 750_3, while the unit 750_3 may provide inhibitory input to the unit 750_2.

In some implementations, the lateral connections may comprise dynamic process characterized by a propagating time (e.g., delay). The time dynamics of the lateral connections may be realized as, for example, a delay of several milliseconds (in the range between 2 ms and 20 ms). In one implementation, the time dynamics may be realized using a low-pass filter with a relatively short time constant (in the range between 2 ms and 20 ms) or longer when required.

PU implementation comprising instant lateral connections is characterized by time-separable PU receptive fields. In such implementations, the PU receptive fields may be described using a product of a temporal and a spatial part.

In the encoder implementation comprising lateral connections (i.e., the Implementation II described above) the MU and/or SBU neurons may be implemented using the framework described above with respect to the encoder Implementation I (e.g., without lateral connectivity). In some realizations of the Exemplary Encoder implementation II, the SBUs layer may comprise lateral connectivity as described above with respect to PU layer of the Implementation II.

Referring now to FIG. 8A exemplary method of encoding graded sensory input into spike output is shown and described in accordance with one implementation.

At step 802 of method 800 of FIG. 8A, graded sensory input may be received by encoder (e.g. the encoder 230 of FIG. 2A). In one or more implementations, the graded input may comprise visual input provided by a diffusively coupled photoreceptive layer (e.g., the layer 220 of FIG. 2A). In some implementations, described in detail below with respect to FIGS. 10A-10B, the visual input may comprise ambient light stimulus 1052 captured through, inter alia, optics of an eye. In some implementations, such as, for example, encoding of light gathered by a lens 1064 in visual capturing device 1160 (e.g., telescope, motion or still camera, microscope, portable video recording device, smartphone), illustrated in FIG. 10B below, the visual input received at step 802 of method 800 may comprise ambient light stimulus 1062 captured by, inter alia, device lens 1064 or output of the imaging (CMOS/APS) array. In one or more implementations, such as, for example, retinal encoder 1076 configured for digitized visual input in a processing apparatus 1070 (e.g., portable video recording and communications device) described with respect to FIG. 10B, below, the visual input of FIG. 8 may comprise digitized pixel values (RGB, CMYK, grayscale) refreshed at suitable rate. In one or more implementations, the visual stimulus may correspond to an object (e.g., a bar that is darker or brighter relative to background) or a feature (e.g., an edge) being present in the field of view associated the input.

At step 804, the graded input may be encoded into spike output. In some implementations, the encoding may be effectuated using spiking neurons operable in accordance with the SRP configured using Eqn. 3-Eqn. 6. The encoding may comprise input rescaling (e.g., as described by Eqn. 11-Eqn. 12 and/or response generation threshold adjustment (e.g., of Eqn. 9).

At step 806, the encoder may provide encoded output. In some implementations, the output rate of the encoder apparatus may be configured to match the input dynamic range due to, at least in part, adaptive adjustment mechanism, as described in detail above.

FIG. 8B illustrates generalized method dynamically adjusting neuron response threshold for use in visual input encoding method of FIG. 8A, in accordance with one implementation.

At step 812 of method 810, visual input may be received. As described above with respect to FIG. 8A, visual input may comprise ambient light input, output of a CMOS imager array or digitized stream of pixels. In one or more implementations, the visual stimulus corresponds to an object (e.g., a letter that is darker or brighter relative to background) for a feature being present in the field of view of a visual sensor.

At step 814, the dynamic parameters of the neuron process (e.g., excitability as expressed by the neuron membrane voltage u described may be updated according to, for example, SRP governed by Eqn. 3-Eqn. 6 Eqn. 6 based on the received input I.

At step 816, spike generation threshold trace u_(th)(t) may be adjusted. In one implementation, the adjustment may be based on Eqn. 9.

At step 818, the updated excitability may be compared to the current threshold value u_(th).

When the excitability is above the threshold, the method may proceed to step 820 where spike response may be generated. In some implementations, the neuron process may be subsequently reset in accordance, for example, with Eqn. 7-Eqn. 8.

At step 822, the response threshold may be updated. In some implementations, the update may comprise incremental adjustment where an increment value may be added the threshold trace û_(th) (t+1)=u_(th)(t)+Δu. In some implementations, the update may comprise proportional adjustment where the threshold trace may be multiplied by a scale parameter p: û_(th) (t+1)=u_(th)(t)p. In one implementation the parameter p may be selected as p>1.

FIG. 8C illustrates adaptive input adjustment for use with the input encoding method of FIG. 8A, in accordance with one implementation.

At step 832 of method 830, an input f_(i) may be received at time t0 from a plurality of photodetectors and an average input I may be determined. In one implementation, the average input may comprise weighted sum of Eqn. 1.

At step 834 a time-averaged variance v of the input may be determined. In one implementation, the time averaging may be performed using input, previously received over a time interval Δt prior to the time t0. In one or more implementations, the variance may be determined using a solution of differential Eqn. 11.

At step 836, the averaged input I may be scaled by using, for example Eqn. 10. In one or more implementations, the neuron excitability may be adjusted instead using the averaged variance.

At step 838, the input may be encoded. In one or more implementations, the encoding may comprise encoding the rescaled input into spike output using Eqn. 3-Eqn. 6, and Eqn. 9.

FIG. 9A illustrates generalized method of feature detection using spiking encoder comprising input dynamic range adjustment, in accordance with one or more implementations.

At step 902 of method 900, input stimulus may be provided to the encoder apparatus (e.g., the apparatus 1000 of FIG. 10A). As described above with respect to FIG. 8A, visual input may comprise ambient light input, output of a CMPS imager array or digitized stream of pixels. In one or more implementations, the visual stimulus corresponds to an object (e.g., a letter that is darker or brighter relative to background) and/or a feature being present in the field of view associated the retinal apparatus.

At step 904, parameters of the encoder may be adjusted in accordance with the stimulus. In some implementation, the adjustment may comprise response threshold adjustment, excitability adjustment; and/or input scaling, as, for example, described with respect to FIGS. 8B and 8C.

At step 906, the stimulus may be encoded and the output of the encoder may be received. In some implementations, the encoded output may comprise the output 232 of FIGS. 2A-2B.

At step 908, a feature detection may be performed using the encoded output and any applicable methodologies, such as, for example, described in U.S. patent application Ser. No. 13/152,119, Jun. 2, 2011, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”.

FIG. 9B illustrates spiking encoder output rate control based on input dynamic range adjustment in accordance with one implementation. In some implementations, the encoder may comprise processor of cellular telephone coupled to a video capturing device (e.g., camera) comprising artificial retinal apparatus of the disclosure. In one or more implementations, the encoder may be embodied in a remote server, coupled, for example, to several surveillance cameras equipped with the artificial retinal apparatus of the disclosure.

At step 922 of method 920, first input I1 may be received. As described above with respect to FIG. 8A, visual input may comprise ambient light input, output of a CMPS imager array or digitized stream of pixels. In one or more implementations, the visual stimulus corresponds to an object (e.g., a letter that is darker or brighter relative to background) and/or a feature being present in the field of view associated the retinal apparatus. In one implementation, the input I1 may comprise input 642 and/or input 652 shown in FIG. 6C.

At step 924, encoded output may be generated. The output may be characterized by the output rate R1 (such as the rate R7 of FIG. 6C).

At step 926 second input I2 may be received. In one implementation, the input I2 may comprise input 644 and/or input 654 shown in FIG. 6C.

At step 928, the encoder output rate may be adjusted using any of the applicable methodologies described above, for example, with respect to FIGS. 6B-6C.

At step 930, encoded output may be generated. The output may be characterized by the output rate R2 (such as the rate R8 and/or rate R10 of FIG. 6C). By way of illustration, then the variance of the input I2 is lower than the variance of the input I1, the output rate R2 may be lower as compared to a realization then the variance of the input I2 is higher than the variance of the input I1.

FIG. 9C illustrates graded sensory data compression using spiking encoding method of FIG. 8A, in accordance with one implementation.

At step 942 of method 940, input may be received. In some implementations, the input may be based on a plurality of sensing elements, such as diffusively coupled cones of artificial retina apparatus described in detail, for example, in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra; and/or digitized stream of pixels.

At step 944 encoder characteristics may be adjusted. In some implementations, the characteristics may comprise excitability (parameterized by the membrane potential of the SRP). The adjustment may comprise scaling excitability based on time history of input variance described above.

At step 946, the adjusted excitability may be updated based on the averaged (over the individual sensing element contributions). In one implementation, the update may be effectuated based on Eqn. 3.

At step 948, the response threshold u_(th) may be updated for example, to implement time decay.

At step 950, the updated excitability may be compared with the updated response threshold u_(th).

When the excitability u>u_(th), the method may proceed to step 952 where spiking response may be generated. Accordingly, the spike response comprises a compressed version of the input based on one or more of the following: spatial and/or temporal averaging of the input by RF of individual neurons; response generation when the input is sufficient to transition neuron dynamic state above threshold. In one or more implementations, an input comprising a large number of graded photoreceptor components over duration of time may be replaced by a single, binary (1-bit) event that may indicate the presence of the relevant feature in the input. In one or more implementations, a frame of 200×200 8-bit pixel values corresponding to a 40-ms time interval containing representation of a triangle may be compressed to a single bit associated with a 1-ms network update rate.

FIG. 9D illustrates one implementation of visual data spiking encoder comprising individually configured response characteristics for chromaticity and illuminance channels. In some implementations, the encoder may comprise two or more neuron layers. Individual layers (e.g., the layers 242, 244, 246 of encoder 240 in FIG. 2B) may be configured to encode different aspects of the input (e.g., chromaticity and luminance)

At step 962 of method 960, visual input may be received. In some implementations, the input may be based on a plurality of sensing elements, such as diffusively coupled cones of artificial retina apparatus described in detail, for example, in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, entitled “RETINAL APPARATUS AND METHODS”, incorporated supra; and/or digitized stream of pixels. The input may be characterized by a chromaticity and luminance channel (e.g., color). In some implementations, chromaticity channel may describe quality of input color regardless of its luminance, that is, as determined by its hue and colorfulness (or saturation, chroma, intensity, or excitation purity. The luminance channel may describe a photometric measure of the luminous intensity per unit area of the input (e.g., brightness). Input comprising, for example, RGB color model pixels may be transformed into luminance and one (or two) chromaticity channels.

At step 964 chromaticity and/or luminance encoder layers characteristics may be adjusted. In some implementations, the characteristics may comprise excitability (parameterized by the membrane potential of the SRP). The adjustment may comprise scaling excitability based on time history of input variance of the respective channel as described above.

At step 966, the chromaticity channel of the input may be encoded using the adjusted chromaticity encoder layer. In some implementations, the chromaticity encoder may be characterized by coarse (compared to the luminance encoder) temporal response resolution. In some implementations, the chromaticity encoder may be characterized by fine (compared to the luminance encoder) spatial response resolution. In one or more implementations, the chromaticity encoder may comprise one or more layers comprising midget units of one or more types. Accordingly, the coarse temporal resolution and/or fine spatial resolution of the chromaticity encoder may be based on temporal filtering and/or small spatial extent of the midget units, as described with respect to FIGS. 3-4B. In some implementations, the encoder apparatus may comprise two or more luminance encoders configured to encode input comprising two or more chromaticity channels.

At step 968, the luminance channel of the input may be encoded using the adjusted luminance encoder layer. In some implementations, the luminance encoder may be characterized by fine (compared to the chromaticity encoder) temporal response resolution. In some implementations, the luminance encoder may be characterized by coarse (compared to the chromaticity encoder) spatial response resolution. In one or more implementations, the luminance encoder may comprise one or more layers comprising parasol units of one or more types. Accordingly, the fine temporal resolution and/or coarse spatial resolution of the chromaticity encoder may be based on absence of temporal filtering and/or larger spatial extent of the parasol units, as described with respect to FIGS. 3-4B.

At step 970, the encoded output may be provided. In some implementations comprising input with a separate luminance and chromaticity channels, the output may be combined in order to find boundaries of the surfaces and/or object (image segmentation) based on both color and brightness edges.

It will be appreciated by those skilled in the art that the methods described with respect to FIGS. 8A-9D may be also used to process inputs of various electromagnetic wavelengths, such as for example, visible, infrared, ultraviolet light, and/or combination thereof. Furthermore, the retinal encoder of the disclosure may be equally useful for encoding radio frequency, magnetic, electric, or sound wave information.

Various exemplary spiking network encoder apparatus are described below with respect to FIGS. 10A-11C.

An apparatus 1000 for processing of sensory information using spiking encoder approach described above is illustrated in FIG. 10A, according to one implementation. The processing apparatus 1000 may comprise photodetector layer 1010 (e.g., the layer 220 of FIG. 2A) that may be configured to receive sensory input 1002. In some implementations, such as, for example, artificial retinal prosthetic 1050 illustrated in FIG. 10B, described in detail below, this visual input may comprise ambient light stimulus 1052 captured through, inter alia, eye lens. In some implementations, such as, for example, encoding of light gathered by a lens 1064 in visual capturing device 1160 (e.g., telescope, motion or still camera), illustrated in FIG. 10A, this visual input may comprise ambient light stimulus 1062 captured by, inter alia, device lens 1064. In one or more implementations, such as, for example, retinal encoder 1076 configured for digitized visual input in a processing apparatus 1070 described with respect to FIG. 10B, the visual input 1002_1 of FIG. 10A may comprise digitized pixel values (RGB, CMYK, grayscale, etc.) refreshed at suitable rate. In one such implementation, the digitized pixel stream 1002_1 may bypass the block 1010 and be provided directly to the encoder as the input 1032.

In some implementations, the input may comprise light gathered by a lens of a portable video communication device 1080 shown in FIG. 10B. In one implementation, the portable device may comprise a smartphone configured to process still and/or video images using diffusively coupled photoreceptive layer described in the resent disclosure. In some implementations, the processing may comprise image encoding and/or image compression, using for example processing neuron layer. In some implementations, encoding and/or compression image may be utilized to aid communication of video data via remote link (e.g., cellular, Bluetooth, WiFi, LTE, and/or other remote links), thereby reducing bandwidth demands on the link. In one or more implementations, compression of up to 1000 may be achieved using encoding methodology of the disclosure.

In some implementations, the input may comprise light gathered by a lens of an autonomous robotic device (e.g., a rover, an autonomous unmanned vehicle, and/or other robotic devices). In one implementation, the robotic device may comprise a camera configured to process still and/or video images using, inter alia, diffusively coupled photoreceptive layer described in the resent disclosure. In some implementations, the processing may comprise image encoding and/or image compression, using for example processing neuron layer. In some implementations, higher responsiveness of the diffusively coupled photoreceptive layer may advantageously be utilized in rover navigation and/or obstacle avoidance.

Returning now to FIG. 10A, the input 1002 may be received and encoded by the encoder 1010 using inter alia, horizontal cone connectivity architecture described in detail supra. In one or more implementations, the encoded output 1032 may be coupled to processing apparatus 1040, configured to perform further processing. In some implementations, the encoded output 1032 may be buffered/stored prior to processing. In some implementations, the processing apparatus 1040 may be embodied in a server that is remote from the encoder 1010.

The processing apparatus 1040 may comprise a neural spiking network configured to encode the input 1032 into output 1020. In one implementation, the output 1020 may comprise spiking output 232 described with respect to FIGS. 2A-2B supra. The network 1040 may comprise one or more layers of neurons 1042, 1049. Spiking neurons 1042_1, 1042_n may be configured to implement different encoder units (PU, rMU, gMU) as described above.

The photodetector output may be provider to the encoder neurons 1042 via one or more connections 1044. The one or more connections 1044 may comprise a weighting parameter configured to configure the input into encoder neurons 1042 in accordance wither encoder type (e.g., PU, MU, etc.). In some implementations, the input configuration may be effectuated by the neurons 1042 via weighting, and/or filtering.

In one or more implementations, the network 1040 may be configured to detect an object and/or object features using, for example, context aided object recognition methodology described in co-owned U.S. patent application Ser. No. 13/540,429, filed Jul. 2, 2012, entitled “SENSORY PROCESSING APPARATUS AND METHODS”, issued as U.S. Pat. No. 9,014,416 Apr. 21, 2015, incorporated supra.

The neurons 1042 may generate spiking output comprising a plurality of pulses that may be transmitted to one or more subsequent neuron layers (e.g., the neuron layer 1049 in FIG. 10A) via one or more connections 1048. Individual ones of the detectors 1049_1, 1049_n may contain logic (which may be implemented as a software code, hardware logic, or a combination of thereof) configured to recognize a predetermined pattern of pulses in the spiking output of the neuron layer 1042, using any of the mechanisms described, for example, in the U.S. patent application Ser. No. 12/869,573, filed Aug. 26, 2010 and entitled “SYSTEMS AND METHODS FOR INVARIANT PULSE LATENCY CODING”, U.S. patent application Ser. No. 12/869,583, filed Aug. 26, 2010, entitled “INVARIANT PULSE LATENCY CODING SYSTEMS AND METHODS”, U.S. patent application Ser. No. 13/117,048, filed May 26, 2011 and entitled “APPARATUS AND METHODS FOR POLYCHRONOUS ENCODING AND MULTIPLEXING IN NEURONAL PROSTHETIC DEVICES”, U.S. patent application Ser. No. 13/152,084, filed Jun. 2, 2011, entitled “APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION”, to produce post-synaptic detection signals transmitted over communication channels 1047.

In one implementation, the detection signals may be delivered to a next layer of the detectors (not shown) for recognition of complex object features and objects, similar to the description found in commonly owned U.S. patent application Ser. No. 13/152,119, filed Jun. 2, 2011, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”. In this implementation, subsequent layers of detectors may be configured to receive signals from the previous detector layer, and to detect more complex features and objects (as compared to the features detected by the preceding detector layer). For example, a bank of edge detectors may be followed by a bank of bar detectors, followed by a bank of corner detectors and so on, thereby enabling alphabet recognition by the apparatus.

Individual ones of the neurons 1042 may generates spiking output signals on communication channels 1048_1, 1048_n (with appropriate latency) that propagate with different conduction delays to the detectors of the upper layer of detectors 1049. The detector cascade of the embodiment of FIG. 10A may contain any practical number of detector nodes and detector banks determined, inter alia, by the software/hardware resources of the detection apparatus and complexity of the objects being detected.

The sensory processing apparatus implementation illustrated in FIG. 10A further may comprise feedback connections 1006, 1046. In some implementations, the connections 1046 may be configured to communicate context information from a detector within the same hierarchy layer, also referred to as the lateral context illustrated by the connection 1046_1 in FIG. 10A. In another variant, connections 1046 may be configured to communicate context information from detectors within other hierarchy layer, also referred to as the context feedback illustrated by the connections 1046_2, 1046_3 in FIG. 10A. In another variant, connection 1006 may be configured to provide feedback to the encoder 1010 thereby facilitating sensory input encoding by the photodetector layer.

FIG. 10B, illustrates various implementations of the sensory encoder 1000 of FIG. 10A useful in one or more visual encoding applications. The processing system 1050 may comprise retinal encoder 1056, adapted for use in a retinal prosthetic device. The encoder 1056 of the prosthetic device 1050 may be disposed in front of the eye retina so that it receives ambient light stimulus 1052 captured through, inter alia, optics of the eye. The encoder 1052 may encode input 1052, in accordance with any of the methodologies described supra. In this implementation, the encoder 1056 may be configured according, for example, to the encoder 240 of FIG. 2B, comprising multiple neuron types configured to implement functionality of different RCG types.

In some implementations, such as, for example, encoding of light gathered by a lens 1064 in visual capturing device 1160 (e.g., telescope, motion or still camera, microscope), illustrated in FIG. 10B, this visual input may comprise ambient light stimulus 1062 captured by, inter alia, device lens 1064.

In some implementations, the lens encoder 1066 of the video capturing device 1060 may be coupled to the output of the device imager (e.g., CCD, or an active-pixel sensor array) so that it receives and encode the input 1062, in accordance with the methodology described supra. In one or more implementations, the retinal encoder 1066 may comprise the pixel array, as illustrated, for example, in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, and entitled “RETINAL APPARATUS AND METHODS”, incorporated supra.

It will be appreciated by those skilled in the art that the encoder apparatus 1056, 1066 may be also used to process inputs of various electromagnetic wavelengths, such as for example, visible, infrared, ultraviolet light, and/or combination thereof. Furthermore, the retinal encoder of the disclosure may be equally useful for encoding radio frequency, magnetic, electric, or sound wave information.

In one or more implementations, such as, for example, the encoder apparatus 1076 configured for digitized visual input in a processing system 1070 described with respect to FIG. 10B, the visual input 1002 _(—) 1 and, consequently the input 1002_1 of FIG. 10A may comprise digitized frame pixel values (e.g., RGB, CMYK, grayscale, and/or other pixel values) refreshed at suitable rate. That is, photodetector 101 in FIG. 10A may be bypassed.

The encoder 1076 may comprise neuronal output block (e.g., the block 324 of FIG. 3) configured to encode the cone layer output into spike timing output stream 1078. Such encoding may advantageously effect compression of visual information thereby reducing data processing and transmission load during subsequent data manipulation.

In one or more implementations, the visual capturing device 1160 and/or processing apparatus 1070 may be embodied in a portable visual communications device 1080, such as smartphone, digital camera, security camera, and/or digital video recorder apparatus. The encoder apparatus 1066, 1076 may comprise diffusively coupled photoreceptive array configured using any of the methodologies described herein.

In one or more implementations, the encoder apparatus 1066, 1076 may further comprise the spiking neuron output layer, configured to encode the photoreceptor output into a plurality of spikes. In some implementations the encoding may be used to compress visual input (e.g., 1062, 1072 in FIG. 10B) in order to reduce bandwidth that may be utilized for transmitting encoded output 1068, 1078 by the apparatus 1080 via wireless communications link.

One particular implementation of the computerized neuromorphic processing system, for use with sensory processing apparatus described supra, is illustrated in FIG. 11A. The computerized system 1100 of FIG. 11A may comprise an input device 1110, such as, for example, an image sensor, digital image interface, encoder apparatus 230 of FIG. 2A, and/or other components. The input interface 1110 may be coupled to the processing block (e.g., a single or multi-processor block) via the input communication interface 1114. In some implementations, the interface 1114 may comprise wireless interface (e.g., cellular wireless, WiFi, Bluetooth, and/or other wireless interfaces) that enables data transfer to the processor 1102 from remote I/O interface 1100, e.g. One such implementation may comprise central processing apparatus coupled to one or more remote camera devices comprising sensory encoder apparatus of the disclosure.

The system 1100 further may comprise a random access memory (RAM) 1108, configured to store neuronal states and connection parameters and to facilitate synaptic updates. In some implementations, synaptic updates may be performed according to the description provided in, for example, in co-owned U.S. patent application Ser. No. 13/239,255 filed Sep. 21, 2011, entitled “APPARATUS AND METHODS FOR SYNAPTIC UPDATE IN A PULSE-CODED NETWORK”, issued as U.S. Pat. No. 9,147,156 on Sep. 29, 2015, the foregoing incorporated herein by reference in its entirety.

In some implementations the memory 1108 may be coupled to the processor 1102 via a direct connection (memory bus) 1116. In one or more implementations the memory 1108 may be coupled to the processor 1102 via a high-speed processor bus 1112). In some implementations, the memory 1108 may be embodies within the processor block 1102.

The system 1100 may further comprise a nonvolatile storage device 1106, comprising, inter alia, computer readable instructions configured to implement various aspects of spiking neuronal network operation (e.g., sensory input encoding, connection plasticity, operation model of neurons, and/or other aspects of spiking neuronal network operation). In one or more implementations, the nonvolatile storage 1106 may be used to store state information of the neurons and connections when, for example, saving/loading network state snapshot, or implementing context switching (e.g., saving current network configuration, which may comprise, inter alia, connection weights and update rules, neuronal states and learning rules, and/or other operations) for later use and loading previously stored network configuration.

In some implementations, the computerized apparatus 1100 may be coupled to one or more external processing/storage/input devices via an I/O interface 1120, such as a computer I/O bus (PCI-E), wired (e.g., Ethernet) or wireless (e.g., WiFi) network connection.

It will be appreciated by those skilled in the arts that various processing devices may be used with computerized system 1100, including but not limited to, a single core/multicore CPU, DSP, FPGA, GPU, ASIC, combinations thereof, and/or other processors. Various user input/output interfaces may be similarly applicable to embodiments of the invention including, for example, an LCD/LED monitor, touch-screen input and display device, speech input device, stylus, light pen, trackball, end the likes.

FIG. 11B, illustrates one implementation of neuromorphic computerized system configured for use with the encoder apparatus described supra. The neuromorphic processing system 1130 of FIG. 11B may comprise a plurality of processing blocks (micro-blocks) 1140, where individual micro cores may comprise logic block 1132 and memory block 1134, denoted by ‘L’ and ‘M’ rectangles, respectively, in FIG. 11B. The logic block 1132 may be configured to implement various aspects spiking neuron encoder, such as the dynamic model of Eqn. 6-Eqn. 9, or neurons 1042 of the processing block 1040. In some implementations, the logic block may implement connection updates (e.g., the connections 1044 in FIG. 10) and/or other tasks relevant to network operation. In some implementations, the update rules may comprise rules spike time dependent plasticity (STDP) updates The memory block may be configured to store, inter alia, neuronal state variables and connection parameters (e.g., weights, delays, I/O mapping) of connections 1138.

One or more micro-blocks 1140 may be interconnected via connections 1138 and routers 1136. In one or more implementations (not shown), the router 1136 may be embodied within the micro-block 1140. As it is appreciated by those skilled in the arts, the connection layout in FIG. 11B is exemplary and many other connection implementations (e.g., one to all, all to all, and/or other connection implementations) may be compatible with the disclosure.

The neuromorphic apparatus 1130 may be configured to receive input (e.g., visual input) via the interface 1142. In one or more implementations, applicable for example to interfacing with computerized spiking retina, or image array. The apparatus 1130 may, in some implementations, provide feedback information via the interface 1142 to facilitate encoding of the input signal.

The neuromorphic apparatus 1130 may be configured to provide output (e.g., an indication of recognized object or a feature, or a motor command, e.g., to zoom/pan the image array) via the interface 1144.

The apparatus 1130, in one or more implementations, may interface to external fast response memory (e.g., RAM) via high bandwidth memory interface 1148, thereby enabling storage of intermediate network operational parameters (e.g., spike timing, and/or other intermediate network operation parameters). In one or more implementations, the apparatus 1130 may also interface to external slower memory (e.g., flash, or magnetic (hard drive)) via lower bandwidth memory interface 1146, in order to facilitate program loading, operational mode changes, and retargeting, where network node and connection information for a current task may be saved for future use and flushed, and previously stored network configuration may be loaded in its place, as described for example in co-pending and co-owned U.S. patent application Ser. No. 13/487,576 entitled “DYNAMICALLY RECONFIGURABLE STOCHASTIC LEARNING APPARATUS AND METHODS”, filed Jun. 4, 2012 and issued as U.S. Pat. No. 9,015,092 on Apr. 21, 2015, the foregoing incorporated herein by reference in its entirety.

FIG. 11C, illustrates one implementation of cell-based hierarchical neuromorphic system architecture configured to perform encoding of graded sensory input. The neuromorphic system 1150 of FIG. 11C may comprise a hierarchy of processing blocks (cells block) 1140. In some implementations, the lowest level L1 cell 1152 of the apparatus 1150 may comprise logic and memory and may be configured similar to the micro block 1140 of the apparatus shown in FIG. 11B, supra. A number of cell blocks 1052 may be arranges in a cluster 1154 and communicate with one another via local interconnects 1162, 1164. Individual ones of such clusters may form higher level cell, e.g., cell denoted L2 in FIG. 11C. Similarly several L2 level clusters may communicate with one another via a second level interconnect 1166 and form a super-cluster L3, denoted as 1156 in FIG. 11C. The super-clusters 1156 may communicate via a third level interconnect 1168 and may form a higher-level cluster, and so on. It will be appreciated by those skilled in the arts that hierarchical structure of the apparatus 1150, comprising four cells-per-level may comprise one exemplary implementation and other implementations may comprise more or fewer cells/level and/or fewer or more levels.

Different cell levels (e.g., L1, L2, L3) of the apparatus 1150 may be configured to perform functionality various levels of complexity. In one implementations, different L1 cells may process in parallel different portions of the visual input (e.g., encode different frame macro-blocks), with the L2, L3 cells performing progressively higher level functionality (e.g., edge detection, object detection). In some implementations, different L2, L3, cells may perform different aspects of operating, for example, a robot, with one or more L2/L3 cells processing visual data from a camera, and other L2/L3 cells operating motor control block for implementing lens motion what tracking an object or performing lens stabilization functions.

The neuromorphic apparatus 1150 may receive visual input (e.g., the input 1002 in FIG. 10) via the interface 1160. In one or more implementations, applicable for example to interfacing with computerized spiking retina, or image array, the apparatus 1150 may provide feedback information via the interface 1160 to facilitate encoding of the input signal.

The neuromorphic apparatus 1150 may provide output (e.g., an indication of recognized object or a feature, or a motor command, e.g., to zoom/pan the image array) via the interface 1170. In some implementations, the apparatus 1150 may perform the I/O functionality using single I/O block (e.g., the I/O 1160 of FIG. 11C).

The apparatus 1150, in one or more implementations, may interface to external fast response memory (e.g., RAM) via high bandwidth memory interface (not shown), thereby enabling storage of intermediate network operational parameters (e.g., spike timing, and/or other intermediate network operational parameters). In one or more implementations, the apparatus 1150 may also interface to a larger external memory (e.g., flash, or magnetic (hard drive)) via a lower bandwidth memory interface (not shown), in order to facilitate program loading, operational mode changes, and retargeting, where network node and connection information for a current task may be saved for future use and flushed, and previously stored network configuration may be loaded in its place, as described for example in co-pending and co-owned U.S. patent application Ser. No. 13/487,576, entitled “DYNAMICALLY RECONFIGURABLE STOCHASTIC LEARNING APPARATUS AND METHODS”, filed Jun. 4, 2012, incorporated supra.

Various aspects of the disclosure may advantageously be applied to design and operation of apparatus configured to process visual data.

In some implementations, encoding of graded signal into spike output may provide compressed output by a factor of 150 to 1000 times with minimal loss of information relevant for visual processing and, ultimately, for generating appropriate responses to visual stimuli.

In one implementation, comprising multiple neuron types (e.g., PUs, gMUs, gMUs, etc.) the encoder, combined with the diffusively coupled photodetector layer described in co-owned and co-pending U.S. patent application Ser. No. 13/539,142 filed Jun. 29, 2012, and entitled “RETINAL APPARATUS AND METHODS”, may be capable of implementing fully trichromatic vision, as in humans and/or or in non-human primates. Furthermore, the use of large number of optimized encoder unit configurations (e.g., PUs, and MUs) may provide a flexible encoder that may be reconfigured to suit a variety of applications, such as, for example, encoding ambient light, infrared light, light of a particular spectral band, etc., using the same encoder hardware/software platform. In one or more implementations, a portion of the encoder that has previously been configured to encode one aspect of the input may be dynamically reconfigured to encode another property (e.g., luminosity) based upon a condition. By way of a non-limiting example, the chromaticity encoder portion may be turned off and/or switched to encode luminance (and/or infrared) of the input when transitioning from daylight to night data acquisition.

In some implementations, the encoder may be optimized to comprise a reduced set of encoder units comprising lateral unit-to-unit connectivity. Such implementations, may trade off flexibility for increased processing throughput and/or reduced cost, power consumption and/or cost.

The principles described herein may be combined with other mechanism of data encoding in neural networks, as described in, for example, co-owned and co-pending U.S. patent application Ser. No. 13/152,084 entitled APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION″, filed Jun. 2, 2011, incorporated supra, and co-owned U.S. patent application Ser. No. 13/152,119, filed Jun. 2, 2011, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”, issued as U.S. Pat. No. 8,942,466 on Jan. 27, 2015, incorporated supra, and U.S. patent application Ser. No. 13/152,105 filed on Jun. 2, 2011, and entitled “APPARATUS AND METHODS FOR TEMPORALLY PROXIMATE OBJECT RECOGNITION”, issued as U.S. Pat. No. 9,122,994 on Sep. 1, 2015, incorporated herein by reference in its entirety.

Exemplary implementations of the present innovation may be useful in a variety of applications including without limitation visual prosthetics, autonomous and robotic apparatus, and other electromechanical devices requiring video processing functionality. Examples of such robotic devices may include one or more of manufacturing robots (e.g., automotive), military robots, medical robots (e.g. processing of microscopy, x-ray, ultrasonography, tomography), and/or other types of robotic devices. Examples of autonomous vehicles may include one or more of rovers, unmanned air vehicles, underwater vehicles, smart appliances (e.g. ROOMBA®), and/or other autonomous vehicles.

Implementations of the principles of the disclosure may be applicable to video data processing (e.g., compression) in a wide variety of stationary and portable video devices, such as, for example, smart phones, portable communication devices, notebook, netbook and tablet computers, surveillance camera systems, and practically any other computerized device configured to process vision data

Implementations of the principles of the disclosure may be further applicable to a wide assortment of applications including computer human interaction (e.g., recognition of gestures, voice, posture, face, and/or other computer human interactions), controlling processes (e.g., an industrial robot, autonomous and/or other vehicles, and/or other processes), augmented reality applications, organization of information (e.g., for indexing databases of images and image sequences), access control (e.g., opening a door based on a gesture, opening an access way based on detection of an authorized person), detecting events (e.g., for visual surveillance or people or animal counting, tracking), data input, financial transactions (payment processing based on recognition of a person or a special payment symbol), and/or other applications.

The disclosure can be used to simplify tasks related to motion estimation, such as where an image sequence may be processed to produce an estimate of the object position and velocity either at individual points in the image or in the 3D scene, or even of the camera that produces the images. Examples of such tasks may include: ego motion, i.e., determining the three-dimensional rigid motion (rotation and translation) of the camera from an image sequence produced by the camera; following the movements of a set of interest points or objects (e.g., vehicles or humans) in the image sequence and with respect to the image plane; and/or other tasks.

In another approach, portions of the object recognition system may be embodied in a remote server, comprising a computer readable apparatus storing computer executable instructions configured to perform pattern recognition in data streams for various applications, such as scientific, geophysical exploration, surveillance, navigation, data mining (e.g., content-based image retrieval), and/or other applications. Myriad other applications exist that will be recognized by those of ordinary skill given the present disclosure.

Although the system(s) and/or method(s) of this disclosure have been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred implementations, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed implementations, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any implementation can be combined with one or more features of any other implementation. 

What is claimed is:
 1. A computerized spiking neuron signal processing apparatus, the apparatus comprising: one or more processors configured to execute computer program modules, the computer program modules being executable to effectuate spiking neurons, the spiking neurons comprising: a first spiking neuron configured to encode a signal into a first output, the first spiking neuron being characterized by a first receptive field, the first output being characterized by a transient response, the transient response being associated with a first response duration; and a second spiking neuron configured to encode a signal into a second output, the second spiking neuron being characterized by a second receptive field, the second output being characterized by a sustained response, the sustained response being associated with a second response duration; wherein the second response duration is greater than the first response duration.
 2. The apparatus of claim 1, wherein the second response duration exceeds the first response duration by at least a multiple of the first response duration.
 3. The apparatus of claim 1, wherein: the signal comprises a graded input characterized by a first attribute and a second attributes, the second attribute being configured to be independent from the first attribute; the first spiking neuron is configured to encode the first attribute into the first output based on a spike response process; and the second spiking neuron is configured to encode the second attribute into the second output based on a spike response process of the spiking neurons.
 4. The apparatus of claim 3, wherein: the signal comprises a visual input representative of an object; the first attribute comprises an object luminance characteristic; and the second attribute comprises an object chromaticity characteristic.
 5. The apparatus of claim 4, wherein: the visual input is based on a plurality of photodetector components; and the first output is generated based on a spatial average of a portion of photodetector components associated with the first receptive field.
 6. The apparatus of claim 5, wherein: the first receptive field comprises a center lobe and a surrounding lobe, the surrounding lobe substantially enveloping the center lobe; and the first output is generated based on one or both of (1) a spatial average of a first portion of photodetector components associated with the center lobe and (2) a second portion of photodetector components associated with the surrounding lobe.
 7. The apparatus of claim 6, wherein the first portion and the second portion are configured to form a non-overlapping set.
 8. The apparatus of claim 6, wherein the first portion and the second portion are configured to form an overlapping set.
 9. The apparatus of claim 5, wherein: the second receptive field comprises a center portion and a surrounding portion; and the second output is generated based on (i) a photodetector component associated with the center portion and (ii) a photodetector component associated with the surrounding portion.
 10. The apparatus of claim 4, wherein: the first spiking neuron is configured to encode the object luminance characteristic into the first output; and the second neuron is configured to encode the object chromaticity characteristic into the second output.
 11. The apparatus of claim 10, wherein the spiking neurons further comprise a third spiking neuron configured to encode the signal into a third output based on a spike response process of the spiking neurons; and wherein: the third output is characterized by a sustained response having the second response duration associated therewith; the visual input further comprises a second object chromaticity characteristic; the third neuron is configured to encode the second object chromaticity characteristic into the third output; the object chromaticity characteristic comprises red-green chromaticity; and the second object chromaticity characteristic comprises yellow-blue chromaticity.
 12. The apparatus of claim 1, wherein: the signal comprises two or more frames, each of the two or more frames having a plurality of pixels associated therewith; the second output is configured based on an area within consecutive ones of the two or more frames; and the area is characterized by at least two pixels of the plurality of pixels.
 13. The apparatus of claim 1, wherein: the second receptive field is characterized by an angular dimension comprising between 1 and 60 minutes of arc; and the first receptive field is characterized by an angular dimension comprising between 30 and 180 minutes of arc.
 14. The apparatus of claim 1, wherein: the second receptive field is characterized by an angular dimension of about 6 minutes of arc; and the first receptive field is characterized by an angular dimension of 20 minutes of arc.
 15. The apparatus of claim 1, wherein: the signal comprises one or more frames, individual ones of the one or more frames having a plurality of pixels associated therewith; the first output is configured based on an area within one of the one or more frames; and the area is characterized by ten or more pixels of the plurality of pixels.
 16. The apparatus of claim 1, wherein: the signal comprises a plurality of frames characterized by an inter-frame interval; and the transient response is characterized by an occurrence of at least one spike within the inter-frame interval.
 17. A computerized signal processing system configured to reconfigure a processor included therein, the system comprising: processors configured to execute computer program modules, the processors comprising a first processor and a second processor, the computer program modules being executable to: based on a first value of a configuration parameter, configure the first processor to encode an input signal, the first processor comprising a first input filter, the first processor being characterized by a first mapping of the input signal; based on a second value of the configuration parameter, configure the second processor to encode the input signal, the second unit comprising a second input filter, the second processor being characterized by a second mapping of the input signal; operate the first processor to generate a first output type based on the input signal; operate the second processor to generate a second output type based on the input signal; and based on an indication, adjust the configuration parameter such that the second processor is reconfigured to generate the first output type using the first filter and the first mapping; wherein: the first output type is characterized by a transient response, the transient response being associated with a first response duration; the second output is characterized by a sustained response, the sustained response being associated with a second response duration; and the second response duration is greater than the first response duration by at least three times the first response duration.
 18. A computerized signal processing system configured to reconfigure a processor included therein, the system comprising: processors configured to execute computer program modules, the processors comprising a first processor and a second processor, the computer program modules being executable to: based on a first value of a configuration parameter, configure the first processor to encode an input signal, the first processor comprising a first input filter, the first processor being characterized by a first mapping of the input signal; based on a second value of the configuration parameter, configure the second processor to encode the input signal, the second unit comprising a second input filter, the second processor being characterized by a second mapping of the input signal; operate the first processor to generate a first output type based on the input signal; operate the second processor to generate a second output type based on the input signal; and based on an indication, adjust the configuration parameter such that the second processor is reconfigured to generate the first output type using the first filter and the first mapping, wherein: the input comprises a visual signal characterized by a luminance component and a chromaticity component; the first output is based on an encoding of the luminance component; the second output is based on an encoding of the chromaticity component; the luminance component comprises a biphasic signal characterized by a first phase and second phase, the first phase and the second phase being determined relative a reference level; the first mapping is characterized by a first receptive field, the first receptive field comprising a center portion and a surround portion, the surround portion substantially enveloping the center portion; the center portion is configured to generate a center response based on the first phase of the luminance component; the surround portion is configured to generate a surround response based on the second phase of the luminance component; and the first output is based on a difference between the center response and the surround response.
 19. The system of claim 17, wherein: the input comprises a visual signal characterized by a chromaticity component, the chromaticity component comprising a bi-phasic signal, the bi-phasic being characterized by a first phase and a second phase, the first phase and the second phase being determined relative a reference level; the second mapping is characterized by a second receptive field, the second receptive field comprising a center portion and a surround portion; the center portion of the second receptive field is configured to generate a second center response based on the first phase of the chromaticity component; the surround portion of the second receptive field is configured to generate a second surround response based on the second phase of the chromaticity component; and the second output is based on a difference between the second center response and the second surround response.
 20. The system of claim 19, wherein the computer program modules are further executable to modify the second response duration based on a characteristic of the chromaticity component.
 21. The system of claim 17, wherein: the input comprises a plurality of frames characterized by an inter-frame interval; the transient response is based on a response of the first input filter, the response of the first input filter being characterized by the first response duration; the sustained response is based at least on the second filter response characterized by the second duration; and the first duration is configured based on one inter-frame interval, and the second response duration is based on at least three inter-frame interval.
 22. The system of claim ON 17, wherein: the first processor and second processor each comprise one or more spiking neurons operable in accordance with a spike generation process; the first output comprises a spike within the first response duration; and the second output comprises two or more spikes within the second duration.
 23. The system of claim 17, wherein the second response duration is between 40 and 120 ms.
 24. A visual signal processing apparatus, the apparatus comprising: processors configured to execute computer program modules, individual ones of the processors including a receptive field, a given receptive field comprising a center portion and a surrounding portion that substantially surrounds the center portion, the computer program modules being executable to: receive an input signal; and generate an output based on the input signal; wherein: the input signal comprises contributions of a plurality of photodetectors arranged spatially along at least one dimension; the center portion of the given receptive field is configured to receive a center input, the center input comprising contributions from a portion of the plurality of photodetectors; and the apparatus provides input to surrounding portions associated with receptive fields associated of individual ones of the processors, the input being provided to the surrounding portion of the given receptive field based on one or more center inputs from neighboring processors of the processor that comprises the given receptive field.
 25. The apparatus of claim 24, wherein: the surrounding input comprises a weighted sum of one or more center inputs; and the output is configured based on a combination of the center portion input and a negated surround portion input.
 26. The apparatus of claim 24, wherein: the output is based on a difference between the center portion input and the surrounding portion input; and the computer program modules are further executable to reduce a number of computational operations associated with generation of the output based on the one or more center inputs from neighboring processors.
 27. The apparatus of claim 24, wherein: the portion of the plurality of photodetectors is characterized by a number greater than one of photodetectors within the portion; the center input is characterized by a number of connections, the number of connections being based on the number of photodetectors within the portion; and the surround input is based on a number of neighboring processors.
 28. The apparatus of claim 27, wherein: the number of photodetectors within the portion is between 4 and 10 inclusive; and the number of neighboring processors is between 4 and 10 inclusive.
 29. A sensing array, comprising: one or more encoder elements of a first type, individual ones of the one or more encoder elements of the first type being configured to encode a luminance component of visual stimulus into a first spiking output; one or more encoder elements of a second type, individual ones of the one or more encoder elements of the second type being configured to encode a chromaticity component of the visual stimulus into a second spiking output; and an output element communicatively coupled with the one or more encoder elements of the first type and the one or more encoder elements of the second type, the output element being configured to interface to an optic nerve; wherein the first spiking output and the second spiking output are each configured to emulate an output of a mammalian neuro-retina. 